Я довольно новичок в фильтрах сервлетов и в основном присоединился к проекту, используя их, и добавил дополнительный фильтр в файл web.xml
(развернутый на Tomcat 5.5).web.xml - Фильтры сервлетов Java - Не запускаются до обработки страницы JSP (на Tomcat)
Я 95% уверен, что в какой-то момент она работает правильно, но теперь при отладке, если я ставлю точки останова в верхней части страницы JSP Я пытаюсь смотреть (login.jsp
), это шаблон страницы (page.jsp
) и в обоих метода doFilter()
сконфигурированного фильтра; он проходит по всей странице login.jsp
(сверху вниз), затем page.jsp
и начинает обработку фильтров.
Для этого сначала нужно запустить фильтры, так как один из них определяет язык, на котором должна отображаться страница (проверка файлов cookie, настроек db и настроек браузера), которые затем должны применяться к 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>
Спасибо заранее.
Вы взглянули на http://java.sun.com/products/servlet/Filters.html и http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/Filter.html? Не зная, что вы делаете, трудно себе представить, что пошло не так. Вы пробовали другой контейнер сервлетов, как причал? –