java - Servlet 过滤器使用注释声明过滤地址情况下的过滤顺序?
高洛峰
高洛峰 2017-05-17 09:59:11
[Java讨论组]

首先,我知道在 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 下配置过滤器有什么区别。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
为情所困

@WebFilter注解无法保证过滤顺序,或者说Servlet 3.0规范中没有定义。

详情可参阅: http://stackoverflow.com/ques...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号