У меня есть фазоинструмент и более одного фильтра. Я хочу знать, есть ли способ создать приоритет. Я хочу, чтобы PhaseListener был первым, а затем всеми фильтрами. Я использую URL-адрес /*
в web.xml
для моих фильтров.Как запустить PhaseListener перед всеми фильтрами?
ответ
Я хочу, чтобы PhaseListener был первым, а затем всеми фильтрами.
Это невозможно. Фазовые слушатели должны выполняться сервлетом лиц JSF. Однако по спецификации фильтры вызывают до любого из сервлетов. Вам нужно будет пересмотреть свой подход. По-видимому, фазовым слушателем фактически должен быть фильтр. Это вполне возможно, если вы не зависите от контекста лиц. Затем отображение фильтра можно просто разместить перед всеми другими фильтрами в web.xml
.
Если шаблоны совпадают, порядок обработки определяется порядком сопоставлений фильтра в дескрипторе (web.xml).
Итак, если вы хотите, чтобы X был первым, перечислите его первым.
Я хочу, чтобы мой фазовый прослушиватель был первым, после этого я не измеряю – Ofer
- 1. Как запустить приложение перед всеми чеками eunit
- 2. запустить php-код перед всеми запросами
- 3. Как запустить метод перед всеми тестами во всех классах?
- 4. Как @Inject в PhaseListener
- 5. Какой порядок выполняется перед фильтрами?
- 6. Locomotivejs Проверьте соединение MongoDB перед всеми действиями
- 7. ContentControl перед всеми Windows
- 8. Grails 3 запускают перехватчики перед фильтрами
- 9. Команда запуска перед всеми тестами
- 10. Перед всеми вложенными циклами автоматически
- 11. Как сделать перемещение NSView перед всеми NSViews
- 12. Узел: как реализовать isLoggedIn перед всеми маршрутами?
- 13. выполнить функцию перед всеми form.submit();
- 14. My phaseListener не работает
- 15. Запуск кода перед всеми тестами внутри CEST
- 16. Запуск тестовой установки перед всеми тестами
- 17. Как запустить функцию со всеми строками?
- 18. Как пропустить перед фильтрами в Rails Forem Gem
- 19. Как пропустить перед фильтрами для запросов json/xml в рельсах
- 20. @PostConstruct не вызван в PhaseListener
- 21. handleNavigation не работает в PhaseListener
- 22. Как запустить «пакет» перед «тестом»
- 23. Как запустить метод перед другими?
- 24. Загрузить файл перед всеми другими пакетами
- 25. Выполнить метод перед всеми контроллерами symfony2
- 26. android сохранить представление перед всеми действиями
- 27. Как связать новую функцию с событием onclick элемента и запустить ее перед всеми другими связанными функциями
- 28. Как запустить фоновый процесс перед всеми процессами переднего плана или конкретным процессом переднего плана?
- 29. Использование PhaseListener для перехвата фазы рендеринга
- 30. Опубликовать форму перед всеми тестами chai mocha
Странно. Мы используем Wildfly 9.0.2, а PhaseListeners вызываются перед нашими фильтрами. –
@Olivier: это, вероятно, неверное истолкование (например, задание другого запроса или фильтра выполняется после вызова chain.doFilter()) – BalusC
Вы правы, это было неверное истолкование из-за того, что PhaseListeners вызывались перед отображением страницы входа, а Filters вообще не назывались. Теперь я не знаю, почему фильтры не вызывают перед отображением страницы входа. EDIT: Я нашел, почему здесь: http://stackoverflow.com/questions/7793737/jsf-form-login-page-redirect-hits-before-my-filter;) –