繁体   English   中英

使用Java Servlet通过HTTP请求发送字符串

[英]Send a String using Java Servlet over HTTP request

嗨,我正在尝试实现一个服务器,该服务器接受一个字符串,然后生成并向客户端返回另一个字符串,但是运行不正常。

这是我尝试过的:服务器:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    ....
    String str = "something";

    // Return the queueId.
    OutputStreamWriter writer = new OutputStreamWriter(response.getOutputStream());
    writer.write(str);
    writer.flush();
    writer.close();
}

客户:

    String URL = "http://localhost:8080/"
    String serverURL = URL + "servlet?param=" + someParam;
    final URL url = new URL(serverURL)
    final URLConnection connection = url.openConnection();
    connection.setDoOutput(true);

    final BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

    System.out.println(br.readLine());

但是br.readLine()以某种方式返回null。 在这种情况下哪一方错?

提前致谢。

您的客户应进行以下更改。 由于您使用的是doPOST而不是doGet

String URL = "http://localhost:8080/"
String serverURL = URL + "servlet?param=" + someParam;
final URL url = new URL(serverURL)
final HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");

final BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

System.out.println(br.readLine());

您的代码可能正在调用doGet

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM