Ответ 1
Считывая спецификацию, абсолютный порядок используется для заказа загрузки веб-фрагментов, а не фильтров сервлетов.
Чтобы исправить порядок ваших фильтров, см. принятый ответ в вопросе, с которым вы связались.
Я увидел этот ответ, который предлагает добавить <absolute-ordering>.
Я использую tomcat 7.0.29 и имею несколько фильтров, которые все определены следующим образом: (не в web.xml)
@WebFilter(filterName = "SessionFilter", servletNames = { "Jersey Web Application" })
public class HibernateSessionRequestFilter implements Filter {
Так как я хочу, чтобы фильтр сеанса вызывался перед фильтром с именем authenticationfilter
, я добавил следующее в web.xml между тегами <web-app>
.
<absolute-ordering>
<name>SessionFilter</name>
<name>AuthenticationFilter</name>
</absolute-ordering>
Однако он не работает, и фильтр проверки подлинности выполняется перед фильтром сеанса.
Почему?
Считывая спецификацию, абсолютный порядок используется для заказа загрузки веб-фрагментов, а не фильтров сервлетов.
Чтобы исправить порядок ваших фильтров, см. принятый ответ в вопросе, с которым вы связались.