【发布时间】:2014-09-15 09:31:49
【问题描述】:
在我的应用程序中,我在 web.xml 中有以下过滤器
<filter>
<filter-name>webServiceFilter</filter-name>
<filter-class>org.bakhtiari.filter.WebServiceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>webServiceFilter</filter-name>
<url-pattern>/webservice/RestEasy/*</url-pattern>
</filter-mapping>
并且声明了两个dispatcher Servlet
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/webservice/RestEasy/*</url-pattern>
</servlet-mapping>
现在假设单个 HTTP 请求到达 url“/webservice/RestEasy/redirect/callUserService”。
考虑到我的业务,如果 URL 的第三部分等于“重定向”,我必须调用 URL“/rest/callUserService”。
考虑到这一切,我想使用新 URL 向“mvc-dispatcher”发送一个请求,并从中检索 HTTPServletResponse。
请注意,我不能使用 java.net 或类似的东西向新 URL 发送请求,因为我的应用程序在“/*” URL 上有安全过滤器,并且在每个请求中放置身份验证参数会导致服务器大量过载。
【问题讨论】:
-
你也将使用 apache http 服务器吗?如果是,您可以使用重定向(如果我完全理解您的问题)
-
是的,tomcat。不,那是不可能的。我想从 servlet 获取响应,对其进行一些更改,然后将其作为结果发送回来。
-
httpd.apache.org apache http 服务器在这里。顺便说一句,您也可以选择使用 jsp 重定向。我相信,重定向是您正在寻找的。span>
-
谢谢,BTW 重定向不适用于我的情况。
-
okey,是不是类似于:获取 url,使用正则表达式(或其他)找到“重定向”,如果它位于第三位,则向新 url /rest/call 发送请求.... 通过 ajax 获取内容?