Servlet 过滤器使用注释声明过滤地址情况下的过滤顺序?

发布于 2022-09-04 22:28:35 字数 584 浏览 13 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

背叛残局 2022-09-11 22:28:36

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文