java - servlet 如何从其他 servlet 请求数据?

标签 java servlets

好吧,我只使用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/

相关文章:

java - 如何从动态添加的复选框中获取 id 及其值

java - Hibernate 给出无法确定类型错误

java - 在 GWT 应用程序中处理授权

java - HttpServletRequest - 获取查询字符串参数,无表单数据

java - GWT Request Builder 不在生产中工作,但在开发中工作

java - ReadyState 保持为空

mysql - 我希望我在 Netbeans 上制作的 Web 应用程序能够上线?

java - 当我可以 ping IP 地址时,为什么 InetAddress.isReachable 返回 false?

java - 完全奇怪的 ClassCastException

java - 如何从 Wicket 组件中删除 CSS 类?