将参数从一个servlet传递到另一个servlet,后者刚刚从jsp接收到一些其他值
我如何将一个参数从一个servlet传递到另一个servlet,而另一个servlet刚刚从jsp接收到一些其他值将参数从一个servlet传递到另一个servlet,后者刚刚从jsp接收到一些其他值,jsp,servlets,Jsp,Servlets,我如何将一个参数从一个servlet传递到另一个servlet,而另一个servlet刚刚从jsp接收到一些其他值 我有一个获取日期、源和目的地的servlet……在它进入另一个jsp页面后,用户输入一个总线ID,现在我希望这个总线ID以及上一个表单中的日期能够进入另一个servlet。有很多方法 如果您有一个标准的servlet容器(比如ApacheTomcat),那么我会通过GET或POST调用将参数传递给另一个servlet(即使用ApacheHTTP客户端) 下面是一个使用ApacheH
我有一个获取日期、源和目的地的servlet……在它进入另一个jsp页面后,用户输入一个总线ID,现在我希望这个总线ID以及上一个表单中的日期能够进入另一个servlet。有很多方法 如果您有一个标准的servlet容器(比如ApacheTomcat),那么我会通过GET或POST调用将参数传递给另一个servlet(即使用ApacheHTTP客户端) 下面是一个使用ApacheHttpClient 4的GET调用示例
//create the HttpClient
HttpClient client = new DefaultHttpClient();
//point the url to call
HttpGet request = new HttpGet("http://127.0.0.1/otherservlet?id=1¶m2=hello");
//execute the call and consume the response
HttpResponse response = client.execute(request);
// Get the response, if any
BufferedReader rd = new BufferedReader
(new InputStreamReader(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
textView.append(line);
}
否则,如果您可以使用成熟的应用程序服务器,我会使用JSM(java消息服务)。假设您的
Servlet
处于相同的上下文中,并且两个请求都在同一会话中发生,一个接一个,这样做的方法是将获得的参数值保存在一个Servlet
中,以便第二个Servlet
可以使用它们
String dateStr = request.getParameter("date"); // make sure to perform null checks
HttpSession session = request.getSession(true);
session.setAttribute("date", dateStr);
参数值现在存储在HttpSession
属性中。只要您仍然在相同的HttpSession
中,就可以从任何其他Servlet
检索它
HttpSession session = request.getSession(true);
String dateStr = (String) session.getAttribute("date");
// you'll want to do null checks here too
// what if the requests were sent out of order?
关键不是发送带有参数的请求,而是访问以前发送的参数。对!对不起,时间太晚了,我还没有仔细阅读这个问题。是我的错。