Вызов собственного фильтра перед фильтром Struts2 - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь вызвать обычный фильтр сервлетов перед фильтром "struts2".Если я размещу объявление фильтра над фильтром struts2, я смогу перехватить URL-адреса на основе Struts, но когда этот настраиваемый фильтр будет размещен под фильтром "struts2" в файле web.xml, он не сможет перехватить URL-адрес на основе Struts (/something.action).Есть ли способ вызвать мой фильтр, кроме размещения его поверх фильтра "struts2" в web.xml?

1 Ответ

0 голосов
/ 10 декабря 2018

Фильтр S2 завершает цепочку фильтров, если S2 должен обрабатывать запрос.

Это связано с тем, что, как только внутри функциональности S2 предполагается, что дополнительные функции будут обрабатываться S2, например, через перехватчики.

Это тривиально изменить: расширить или скопировать фильтр S2 по умолчанию, обновить метод doFilter и восстановить вызов chain.doFilter после вызова execute.executeAction(request, response, mapping) (примерно).

You 'Мне нужно убедиться, что это работает как задумано (должно, но я не проверял это).

...