我可以调用doGet方法并从servlet中检索信息吗?

时间:2012-03-21 19:56:27

标签: java servlets

我对servlet和doGet方法有疑问。如果这是一个错误的问题,我很抱歉,希望有人会帮我这个。

我有一个servlet,我使用此代码调用它来执行其中的某些内容:

public static void sendBeingRequestFromSimulator(String param2, String message) throws Exception
   {
      HttpClient client = new HttpClient();
      GetMethod method = new GetMethod(SERVER_URL);

      NameValuePair[] parameterArray = new NameValuePair[3];
      parameterArray[0] = new NameValuePair("param1", "begin");
      parameterArray[1] = new NameValuePair("param2", param2);
      parameterArray[2] = new NameValuePair("msg", message);
      method.setQueryString(parameterArray);
      client.executeMethod(method);
}

这使得servlet执行某些代码。然后servlet将接收来自其他应用程序的调用,并将存储该信息。

我想知道,如果可以访问存储在调用doGet方法的servlet上的信息,或者以其他方式。

任何帮助将不胜感激

提前致谢。

3 个答案:

答案 0 :(得分:1)

  

现在我的问题是,如何调用doGet方法并从响应中获取信息?

getResponseXxx()类的HttpMethod方法可以使用它。另见javadoc

E.g。

// ...
client.executeMethod(method);
int status = method.getStatusCode();
Header[] headers = method.getResponseHeaders();
String body = method.getResponseBodyAsString();

对具体问题

无关。 HTTP客户端3.x相当传统。考虑转移到HTTP客户端4.x。

答案 1 :(得分:1)

我相信我过去曾使用URL课来实现这一目标。

您可以使用其openStream()方法获取可以读取的InputStream。

返回的InputStream应该表示servlet写的输出。

答案 2 :(得分:0)

通常在Web应用程序中,从客户端发送的数据将存储在某种数据库中,可以是关系数据库系统,基于文档的系统,如couchdb等。

您的servlet方法应该调用服务方法(您编写的),它们根据需要保存和加载数据。