java - Servlet 过滤器使用注释声明过滤地址情况下的过滤顺序?
本文介绍了java - Servlet 过滤器使用注释声明过滤地址情况下的过滤顺序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
首先,我知道在 web.xml 下配置过滤器能实现过滤顺序;
现在问题是,我是使用注释声明的过滤器地址,我想实现多重过滤,先第一个过滤器过滤后,第二个过滤器过滤,最后到 Servlet:
Servlet 配置:@WebServlet(name = "LoginSvlt", urlPatterns = "/f1/f2/xxx.do")
第一层 Filter 配置: @WebFilter(description = "第一个过滤器", urlPatterns = { "/f1/*" })
第二次 Filter 配置: @WebFilter(description = "第二个过滤器", urlPatterns = { "/f1/f2/*" })
请求:<form action="/../f1/f2/xxx.do" method="post">...</form>
但实际上每次请求 Servlet 会先进入第二个过滤器,再进入第一个过滤器,然后又进入第二个过滤器,最后才到 Servlet ,求问使用注释配置和 web.xml 下配置过滤器有什么区别。
解决方案
用@WebFilter
注解无法保证过滤顺序,或者说Servlet 3.0规范中没有定义。
详情可参阅: http://stackoverflow.com/ques...
这篇关于java - Servlet 过滤器使用注释声明过滤地址情况下的过滤顺序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文