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

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

@WebFilter("/folder/*")

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

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

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

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


person ET13    schedule 27.12.2011    source источник


Ответы (1)


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

@WebFilter(value={"/folder/*"},
           dispatcherTypes={DispatcherType.REQUEST, DispatcherType.FORWARD})
person Jörn Horstmann    schedule 27.12.2011