如何从Java代码调用servlet

时间:2011-05-03 07:08:08

标签: java servlets

我想用一些参数调用servlet并接收响应。代码是用Java编写的。 什么是最好(最干净)的方法呢?

另外,我可以调用一个servlet并继续使用代码来等待servlet完成(关闭连接并“忘掉它”)?

4 个答案:

答案 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

特点:

  1. Param很容易传递和解析响应。
  2. 它甚至允许通过代理
  3. 进行通信
  4. 开源
  5. 它也支持Asyncronous 还有很多 请参阅以上网址。

答案 2 :(得分:2)

您可以使用Apache HttpClient Apache HttpClient

这也有可用的非阻塞I / O功能NIO extensions

这是Apache HttpComponents的Tutorial

您还可以尝试JettyAsync Http Client

答案 3 :(得分:0)

对我而言this是关于Apache HttpClient的最短且最有用的教程。