如何从Java客户机与servlet通信

如何从Java客户机与servlet通信,java,servlets,Java,Servlets,我已经在Windows 10上使用Netbeans 12开发了一个servlet。servlet部署在与Netbeans IDE集成的机器上的ApacheTomcat 9.0.39上。在开发servlet时,Netbeans IDE会自动创建一个包含静态html内容的index.html文件,并将该文件放在“src->main->webapp”文件夹下。 客户机向servlet发送一个字符串,servlet反转该字符串并将其返回给客户机。但是,我的客户机在servlet的响应中只看到index.

我已经在Windows 10上使用Netbeans 12开发了一个servlet。servlet部署在与Netbeans IDE集成的机器上的ApacheTomcat 9.0.39上。在开发servlet时,Netbeans IDE会自动创建一个包含静态html内容的index.html文件,并将该文件放在“src->main->webapp”文件夹下。
客户机向servlet发送一个字符串,servlet反转该字符串并将其返回给客户机。但是,我的客户机在servlet的响应中只看到index.html(如上所述)的静态内容,而不是servlet写入PrintWriter对象(从response.getWriter()获得)的反向字符串对象。
以下是index.html的内容:

<!DOCTYPE html>
<html>
    <head>
        <title>My first servlet</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Reversing Strings!!!</h1>
        <p> This is index.html page</p>
    </body>
</html>

客户端从servlet接收的内容:

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    String inputString = request.getParameter("reverse_string");
    StringBuilder temp = new StringBuilder(inputString);
    String result = temp.reverse().toString();
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet ReverseString</title>");            
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet ReverseString at " + request.getContextPath() + "</h1>");
        out.println("<p> The input string: "+inputString+"<br>");
        out.println("The reversed string: "+result+" </p>");
        out.println("</body>");
        out.println("</html>");
    }
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}


@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}
<!DOCTYPE html>
<html>
    <head>
        <title>My first servlet</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Reversing Strings!!!</h1>
        <p> This is index.html page</p>
    </body>
</html>

我的第一个servlet
反转字符串!!!
这是index.html页面


我的代码缺少什么?
谢谢

您的webapp上下文路径是
/reversestring
。字符串反转servlet在该上下文中的路径
/reversestring
处注册。要向servlet发出请求,URL应为:

http://localhost:8080/reversestring/reversestring

您的webapp上下文路径为“/reversestring”。字符串反转servlet在该上下文中的路径“/reversestring”处注册。要向servlet发出请求,url应该是
http://localhost:8080/reversestring/reversestring
感谢您的评论。事实上,这就是问题所在。如果你不介意的话,请回答我好让我帮你查一下。
public static void writeToURL() {
        try {
            //   need to study and understand servlet
            //   then write to a servelt through a URL object.
            String stringToReverse = URLEncoder.encode("HelloWorld", "UTF-8");
            
            URL url = new URL("http://localhost:8080/reversestring/");
            URLConnection connection = url.openConnection();
            connection.setDoOutput(true);
            
            OutputStreamWriter out = new OutputStreamWriter(
                    connection.getOutputStream());
            out.write("reverse_string=" + stringToReverse);
            out.close();
            
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                            connection.getInputStream()));
            String decodedString;
            while ((decodedString = in.readLine()) != null) {
                System.out.println(decodedString);
            }
            in.close();
        } catch (UnsupportedEncodingException ex) {
                    ex.printStackTrace();
        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
<!DOCTYPE html>
<html>
    <head>
        <title>My first servlet</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Reversing Strings!!!</h1>
        <p> This is index.html page</p>
    </body>
</html>
http://localhost:8080/reversestring/reversestring