好吧,我只使用response.sendRedirect 和forward 来处理购买的servlet,但现在我需要一个servlet 请求答案而不是将客户端发送到其他servlet。
我该怎么做?
让我举个例子:想象一个 servlet 在一页中为您提供时间和温度。
在这个 servlet 中,您需要从 2 个不同的 servlet 请求数据,因此您需要我在这里询问的内容...
最佳答案
如果两个 servlet 在同一服务器上的同一上下文中运行,则只需使用 RequestDispatcher#include()
.
request.getRequestDispatcher("/otherservleturl").include(request, response);
<小时/>
您甚至可以在第一个 servlet 转发的 JSP 中执行此操作。
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
与
<jsp:include page="/otherservleturl" />
<小时/>
如果它们不在同一上下文中运行,那么您需要以编程方式对其发起 HTTP 请求,并将其 HTTP 响应输出通过管道传输到当前响应输出。
InputStream input = new URL("http://other.com/servlet").openStream();
OutputStream output = response.getOutputStream();
IOUtils.copy(input, output);
有关更高级的 HTTP 请求,请查看 this mini-tutorial .
关于java - servlet 如何从其他 servlet 请求数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5515727/