Calling a Servlet from a Java application

后端 未结 3 1356
无人及你
无人及你 2020-12-02 02:18

I want to call a Servlet from a Java application. The problem is, that the call seems not to reach the Servlet. I do not get any error, but do not reach the first output \"d

相关标签:
3条回答
  • 2020-12-02 02:34
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            System.out.println("doPost");
            ObjectInputStream objIn = new ObjectInputStream(request.getInputStream());
            ActionPackage p = null;
            p = (ActionPackage) objIn.readObject();
            System.out.println("Servlet rece p: "+p);       
        } catch (Throwable e) {
            e.printStackTrace(System.out);
        }
    }
    
    0 讨论(0)
  • 2020-12-02 02:47

    URLConnection is only lazily executed whenever you call any of the get methods.

    Add the following to your code to actually execute the HTTP request and obtain the servlet response body.

    InputStream response = servletConnection.getInputStream();
    

    See also:

    • How to use java.net.URLConnection to fire and handle HTTP requests?
    0 讨论(0)
  • 2020-12-02 02:55

    Try wrapping the entire body of the doPost in a try/catch block:

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            System.out.println("doPost");
            ObjectInputStream objIn = new ObjectInputStream(request.getInputStream());
            ActionPackage p = null;
            p = (ActionPackage) objIn.readObject();
            System.out.println("Servlet received p: "+p);       
        } catch (Throwable e) {
            e.printStackTrace(System.out);
        }
    }
    

    Then look again at your Servlet output log file or window for a new Exception which may help.

    0 讨论(0)
提交回复
热议问题