Java:从servlet转发到servlet时进行过滤

时间:2016-11-24 10:53:12

标签: java jsp servlets

在将请求从一个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并不会调用过滤器。我想知道我做错了什么,或者它是不可能的。

1 个答案:

答案 0 :(得分:0)

它在jsp的情况下工作,因为请求转到客户端,然后返回到服务器但是在servlet的情况下,它没有被重定向到客户端,所以你的过滤器没有进入那里。

如果您需要,请使用sendRedirect而不是转发。

检查以下链接,查看差异b / w sendRedirect和转发。

当您使用SendRedirect容器时,将请求传输到客户端或浏览器,以便在sendRedirect方法中给出的URL作为对客户端的新请求可见。

了解详情:http://javarevisited.blogspot.com/2011/09/sendredirect-forward-jsp-servlet.html#ixzz4QvHxSVFF