Нужно ли указывать фильтры сервлетов в файле web.xml? - PullRequest
0 голосов
/ 27 февраля 2011

В моей компании есть фильтр сервлетов, который мы хотели бы включить в различные сторонние веб-приложения Java.Существует некоторая нерешительность для редактирования файла web.xml вендора.Это колебание оправдано?Есть ли другой способ сделать это?Рассматриваются серверы приложений Tomcat и Weblogix ...

Ответы [ 3 ]

5 голосов
/ 27 февраля 2011

Если вы используете Servlet API до версии 2.5 - другого способа, если вам нужна мобильность, нет - вы должны включить Filter в web.xml.

Если вы используете Servlet API 3.0, вы можете использовать web-fragment.xml внутри вашего jar или @WebFilter аннотацию в фильтре, и она будет автоматически развернута (веб-приложение должно указывать только metadata-complete="false" для включения объявлений из других модулей)

3 голосов
/ 27 февраля 2011

AFAIK, они должны идти в web.xml. Ваша неуверенность оправдана - мне никогда не нравятся такие модификации, потому что очень сложно включать обновления поставщиков. Но я не уверен, что у тебя есть выбор. Просто убедитесь, что ваш черный ящик / приемочные испытания достаточно надежны, чтобы определить, когда ваш фильтр упал во время обновления.

2 голосов
/ 27 февраля 2011

Да, это так.

Я смог сделать это программно ( в Jetty см. Метод addFilter ()), но это определенный класс Jetty, поэтому я не в курсенеконтейнерного способа обойти это, поэтому чтобы быть уверенным, что ваш код развернут как на Tomcat, так и на Jetty, ваш подход является единственным безопасным.

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