我想用一些参数调用servlet并接收响应。代码是用Java编写的。 什么是最好(最干净)的方法呢?
另外,我可以调用一个servlet并继续使用代码来等待servlet完成(关闭连接并“忘掉它”)?
答案 0 :(得分:4)
来自here的示例:
import java.net.*;
import java.io.*;
public class URLConnectionReader {
public static void main(String[] args) throws Exception {
URL yahoo = new URL("http://www.yahoo.com/");
URLConnection yc = yahoo.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(
yc.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
从您的角度来看,servlet只是某个服务器上的URL。至于不等待响应 - 阅读有关Java线程的信息。但是,如果不等待servlet完成,则无法关闭HTTP连接,因为这可能导致servlet失败。只需等待单独一个帖子中的响应,如果不重要就丢弃它。
答案 1 :(得分:4)
更好地使用Apache HttpClient API来处理和与servlet进行通信
http://hc.apache.org/httpcomponents-client-ga/index.html
特点:
答案 2 :(得分:2)
您可以使用Apache HttpClient Apache HttpClient
这也有可用的非阻塞I / O功能NIO extensions
这是Apache HttpComponents的Tutorial。
您还可以尝试Jetty或Async Http Client
答案 3 :(得分:0)
对我而言this是关于Apache HttpClient的最短且最有用的教程。