2013-03-26 111 views
0

我有一个servlet引擎作为前端Web服务器,并希望将一些请求转发给后端服务器。重定向是不可能的。如何使用servlet将请求转发到后端服务器?

Servlet规范中是否有任何有用的API?或者是这种功能的一些样本?

我知道我可以通过HttpUrlConnection来做到这一点。但是有没有更简单的解决方案?

+0

您可以使用response.sendRedirect([URL])进行重定向,前提是客户端可以访问该服务器。 – 2013-03-26 11:54:14

+0

您的问题有两种可能的解决方案。 – 2013-03-26 11:55:19

+0

如果“后端服务器”运行在同一个Web容器中,那么您可以转发请求,这意味着它仅在另一个Servlet上下文中运行。你的环境中是这种情况吗? – Uooo 2013-03-26 12:43:35

回答

2

您不能转发请求到另一台服务器。如果您正在转发的servlet位于同一台服务器中,转发将发挥作用。

所以,你的选择是:

  • 重定向到后端,
  • 发送一个HTTP请求到后端,提取结果,并传回给原来的客户端的响应与原始请求,或
  • 其他不涉及HTTP的东西。

在servlet规范中是否有任何有用的API?

除了您已经找到的(显然)之外没有任何区别。

但是有没有更简单的解决方案?

AFAIK,no。如果后端是不同的服务器,特别是“前进”不是一个选项。

相关问题