Я довольно новичок в Servlet Filters и, по сути, присоединился к проекту, используя их, и добавил дополнительный фильтр в файл web.xml
(развернут в Tomcat 5.5 ).
Я на 95% уверен, что в какой-то момент он работал правильно, но теперь при отладке, если я ставлю точки останова в верхней части страницы JSP, которую я пытаюсь просмотреть (login.jsp
), это страница шаблона (page.jsp
) и в обоих из настроенного фильтра метод doFilter()
; он проходит через всю страницу login.jsp
(сверху вниз), затем page.jsp
и начинает обработку фильтров.
Мне нужно сначала запустить фильтры, так как один из них определяет язык, на котором должна отображаться страница (проверка файлов cookie, настройки БД и настройки браузера), который затем должен применяться к login.jsp
.
Кто-нибудь получил какие-либо предложения относительно того, что может пойти не так?
Существует много кода, который я мог бы публиковать, но не уверен, что он будет полезен, поскольку все работает просто в неправильном порядке.
Фрагменты из web.xml:
<web-app>
...
<filter>
<filter-name>SetSecurityContextFilter</filter-name>
<filter-class>
com.section2.SecurityContextServletFilter
</filter-class>
</filter>
<filter>
<filter-name>SetLocaleFilter</filter-name>
<filter-class>
com.section2.locale.LocaleServletFilter
</filter-class>
</filter>
<filter>
<filter-name>trinidad</filter-name>
<filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
</filter>
<filter>
<filter-name>ActiveUserFilter</filter-name>
<filter-class>com.section2.ActiveUserFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>trinidad</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>SetSecurityContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SetLocaleFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ActiveUserFilter</filter-name>
<url-pattern>/pages/section2/user/*</url-pattern>
</filter-mapping>
...
</web-app>
Заранее спасибо.