截取并重定向到另一个端口的Servlet

时间:2012-12-03 09:41:02

标签: java web-applications servlets port servlet-filters

我有一台运行两台服务器的机器: -

  • Java Web容器Weblogic)和
  • 非Java Web服务器

显然位于两个不同的端口700115000

服务器(及其网络)上的安全策略限制只允许我们远程访问Java web container(只能访问其端口)。

我需要在我的Java Web容器上部署servlet或过滤器,将某些请求重定向到非java Web服务器并返回其结果。

是否有Servletfilter可以执行此操作?

我可以将文件上传到非Java Web应用程序(当从同一台计算机访问时)。是否可以通过端口映射Servlet 启用此功能?

3 个答案:

答案 0 :(得分:1)

如果只有一个服务器是公开可用的,重定向将无法帮助您,因为浏览器无法访问他被重定向到的端口。在这种情况下,您需要的是WebLogic中的代理。例如Jetty Proxy Servlet,但我不知道它是多么便携,也可能需要servlet 3.0。

答案 1 :(得分:0)

没有标准方法来执行此操作。换句话说,JavaEE规范中没有任何内容要求容器提供这样的功能。

你必须自己写。为此,我会使用过滤器而不是Servlet。

答案 2 :(得分:0)

您无法重定向,导致重定向是客户端,您需要创建最简单的代理。您可以创建一个接受一些param = web-url的servlet,然后使用URLConnection或commons http client连接到此URL,然后您只需将您所访问的页面写入servletResponse。根据页面内容,您可能还需要传递一些http标头,但在最简单的情况下,模式就像我描述的那样