我看到这个答案,建议添加<absolute-ordering>.
我使用tomcat 7.0.29,有几个过滤器都是这样定义的:(不在web.xml中)
@WebFilter(filterName = "SessionFilter", servletNames = { "Jersey Web Application" })
public class HibernateSessionRequestFilter implements Filter {
由于我希望会话过滤器在称为authenticationfilter
的过滤器之前调用,因此我在<web-app>
标记之间的web.xml中添加了以下内容:
<absolute-ordering>
<name>SessionFilter</name>
<name>AuthenticationFilter</name>
</absolute-ordering>
但是,它不起作用,并且在会话过滤器之前执行身份验证过滤器。
为什么?
阅读规范,绝对排序用于排序web片段的加载,而不是servlet过滤器。
要修复过滤器的顺序,请参阅您链接到的问题中接受的答案。