Фильтр Java с использованием диспетчера запросов - с использованием аннотаций JavaEE 6 - PullRequest
3 голосов
/ 27 декабря 2011

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

@WebFilter("/folder/*")

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

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

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

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

1 Ответ

5 голосов
/ 27 декабря 2011

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

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