Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Фильтр Java с использованием диспетчера запросов - с использованием аннотаций JavaEE 6

Автор вопроса: ET13Ответов: 1

Я создал фильтр для "/folder/*", используя аннотацию JaveEE 6.

@WebFilter("/folder/*")

Однако, когда я перехожу к "/test.html", у которого есть вызов

request.getRequestDispatcher("/folder/test.jsp").forward(request, response);

в doGet страница не фильтруется. При переходе в "/folder/test.jsp" вручную в браузере фильтр работает нормально. Как я могу заставить его работать и при использовании диспетчера?

Я нашел решение для XML-способа создания фильтров в нескольких местах, таких как здесь или здесь, но не смог найти решение с помощью аннотаций. Спасибо!

javajava-ee-6servlet-filtersdispatcher

Ответы

Ответ 1 · рейтинг 5 · Jörn Horstmann

Аннотации, кажется, имеют dispatcherTypes для поддержки этого, поэтому должно работать следующее:

@WebFilter(value={"/folder/*"},
           dispatcherTypes={DispatcherType.REQUEST, DispatcherType.FORWARD})

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы