我有一台运行两台服务器的机器: -
Weblogic
)和显然位于两个不同的端口7001
和15000
。
服务器(及其网络)上的安全策略限制只允许我们远程访问Java web container
(只能访问其端口)。
我需要在我的Java Web容器上部署servlet或过滤器,将某些请求重定向到非java Web服务器并返回其结果。
是否有Servlet
或filter
可以执行此操作?
我可以将文件上传到非Java Web应用程序(当从同一台计算机访问时)。是否可以通过端口映射Servlet 启用此功能?
答案 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标头,但在最简单的情况下,模式就像我描述的那样