Фильтр Tomcat для всех веб-приложений - PullRequest
5 голосов
/ 18 октября 2011

Проблема: я хочу сделать фильтр для всех веб-приложений.

Я создал фильтр для мониторинга запросов к серверу Apache Tomcat.

, например, он называется MyFilter.я создал его в NetBeans, который создал 2 отдельных каталога:

webpages - contains:
    META-INF
    WEB-INF
    index.jsp (a file which i created for viewing monitored data)

source packages
    my.package/MyFilter

в том же, когда я выполняю его из NetBeans, он развертывает его и отправляет мне http://localhost:8080/MyFilter

всякий раз, когда я просматриваюстраница в / MyFilter / somepath - он запускает фильтр.

я хочу, чтобы фильтр работал по всем путям, а не только для веб-приложения

Где мне нужно найти файлы проекта?какие файлы проекта мне нужны?я должен отредактировать conf / web.xml и добавить фильтр?или я должен быть только в определенном web.xml веб-приложения?

РЕДАКТИРОВАТЬ:

я скопировал сгенерированный файл .war в tomcat / webapps

когда я запускаю tomcat, он создает каталог (tomcat / webapps / MyFilter /)

Я добавил фильтр в tomcat / conf / web.xml.когда я запускаю его, он не загружается: // localhost: 8080 /, но успешно загружается (и фильтрует): // localhost: 8080 / MyFilter

1 Ответ

10 голосов
/ 18 октября 2011

Фильтр будет по определению работать только в том веб-приложении, в котором он определен.

Вы можете определить его в web.xml в каталоге conf/ Tomcat, чтобы включить его во все веб-приложения, развернутые на этом Tomcat по умолчанию (обратите внимание, что вам также нужно сделать класс фильтра доступным для всех веб-приложения, вероятно, поместив его в каталог lib/ Tomcat).

Кроме того, вы можете реализовать Tomcat Valve , который концептуально похож на фильтр, но может быть установлен на Engine, Host или Context в Tomcat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...