开发者

How to call a servlet from Java code

I want to call servlet with some parameters and receive a response. The code is written in Java. What is the best (cleanest) way to do that?开发者_如何学编程

Also, can i call a servlet and continue with the code withoud waiting the servlet to finish (close the connection and "forget about it")?


Better use Apache HttpClient API for handling and communication with servlet

http://hc.apache.org/httpcomponents-client-ga/index.html

Features:

  1. Param are easy to pass and parse response.
  2. It allows even communicating thru Proxy
  3. Open source
  4. It also support Asyncronous and many more Please refer the above url.


Example from 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();
  }
}

From your perspective, servlet is just an URL on some server. As for not waiting for a response - read about Java threads. But you cannot close the HTTP connection without waiting for a servlet to finish as this might cause a servlet to fail. Simply wait for the response in a separate thread and discard it if it doesn't matter.


You could use Apache HttpClient Apache HttpClient

This also has Non-blocking I/O functionality available NIO extensions

Here's a Tutorial for the Apache HttpComponents.

You could also try Jetty or Async Http Client


For me this was the shortest and most useful tutorial about Apache HttpClient.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜