多过滤器执行顺序
FilterChain#doFilter()方法:
执行目标资源或者执行下一过滤器
如果没有下一个过滤器,则执行目标资源。如果有下一个过滤器,则执行下一个过滤器
所有的过滤器都要依次执行!
过滤器的链上,过滤器排行顺序是按照web.xml中配置的顺序进行过滤的
过滤器的四种拦截方式
1.请求
2.转发
3.包含
4.错误
想要设置一个过滤器拦截的东西,只需要在web.xml中的filter-mapping进行配置即可
1 <filter> 2 <filter-name>BFilter</filter-name> 3 <filter-class>FilterPackage.BFilter</filter-class> 4 </filter> 5 <filter-mapping> 6 <filter-name>BFilter</filter-name> 7 <url-pattern>/AServlet</url-pattern> 8 <dispatcher>REQUEST</dispatcher> 9 <dispatcher>FORWARD</dispatcher> 10 <dispatcher>ERROR</dispatcher> 11 <dispatcher>INCLUDE</dispatcher> 12 </filter-mapping>
多个过滤器的执行顺序如何控制
<filter-mapping>中的配置顺序决定的filter的执行顺序