Определите сервлет для обработки ответа в фильтре

Я хочу иметь возможность определить сервлет, который будет обрабатывать запрос как часть реализации фильтра. В коде фильтра я хочу изучить аннотации к этому сервлету и принять решение о том, что делает фильтр на основе этих аннотаций.

Этот пост в основном задает тот же вопрос, но принятый ответ заключается в настройке сопоставления URL-адресов с фильтрами, чтобы фильтр вызывался только для определенного набора URL-адресов. Я не хочу прибегать к этому, если я могу этого избежать.

Можно ли сделать это?


person ryanmcfall    schedule 31.05.2016    source источник
comment
Фильтр служит слоем в вашем веб-приложении до уровня сервлета и в значительной степени не зависит от него. почему ты хочешь сделать это? Можете ли вы объяснить свою бизнес-логику более подробно?   -  person Tim Biegeleisen    schedule 31.05.2016
comment
@TimBiegeleisen - я проверяю, аутентифицирован ли пользователь, что должно происходить для одних служб, а не для других; фильтр — это код, проверяющий подлинность. Я хотел бы аннотировать методы, не требующие аутентификации, а затем проверить наличие аннотации в коде фильтра.   -  person ryanmcfall    schedule 31.05.2016
comment
@ryanmcfall: Почему бы вам не использовать безопасность на основе контейнеров? При этом вы можете указать аннотации @ServletSecurity для некоторых сервлетов и указать разрешенные роли.   -  person vanje    schedule 01.06.2016
comment
@vanje - в основном потому, что я не хочу тратить время на ознакомление с дополнительным кодом фреймворка. Большинство учебных пособий и документации, которые я могу найти по этому поводу, довольно многословны. Кроме того, для нашего приложения существует большое количество способов аутентификации пользователей, и у нас есть собственный код аутентификации для обработки этого требования. Страница входа должна отличаться в зависимости от запрашиваемого URL-адреса. Если вы считаете, что безопасность на основе контейнеров может справиться с этими требованиями, я был бы признателен за ссылки на хорошие ресурсы, чтобы заставить ее работать в среде Tomcat.   -  person ryanmcfall    schedule 01.06.2016