在将请求从一个servlet转发到另一个servlet时是否可以使用过滤器?在我的项目的web.xml中,我尝试过这个过滤器映射:
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
从servlet转发到JSP工作正常。从servlet转发到servlet并不会调用过滤器。我想知道我做错了什么,或者它是不可能的。
答案 0 :(得分:0)
它在jsp的情况下工作,因为请求转到客户端,然后返回到服务器但是在servlet的情况下,它没有被重定向到客户端,所以你的过滤器没有进入那里。
如果您需要,请使用sendRedirect而不是转发。
检查以下链接,查看差异b / w sendRedirect和转发。
当您使用SendRedirect容器时,将请求传输到客户端或浏览器,以便在sendRedirect方法中给出的URL作为对客户端的新请求可见。
了解详情:http://javarevisited.blogspot.com/2011/09/sendredirect-forward-jsp-servlet.html#ixzz4QvHxSVFF