本文主要是介绍关于拦截器Filter的顺序问题和设置类拦截器的位置问题的验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
近来在学习Filter拦截器,@WebFilter中是没有指定顺序的参数,查看了一些博客后再加上验证得到的结果如下:
Filter的拦截顺序是Filter类名的字符比较顺序:
AFilter>BFilter>CFilter;Filter01>Filter02>Filter03
如果几个拦截器的@WebFilter中filterName = "name ",name如果是一样的话,只会执行第一个拦截器
第一个拦截器
@WebFilter(filterName = "Filter1",urlPatterns = "/*")
public class MyFilter1 implements Filter {//其他方法忽略public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {System.out.println("Myfilter1>>doFilter1");chain.doFilter(req,resp);//放行}
}
第二个拦截器
@WebFilter(filterName = "Filter2",urlPatterns = "/*")
public class MyFilter1 implements Filter
这篇关于关于拦截器Filter的顺序问题和设置类拦截器的位置问题的验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!