Я использовал Request Dispatcher
в фильтре для изменения URI запроса, но проблема с этим диспетчером запросов заключается в том, что он разрывает цепочку фильтров.Таким образом, фильтр, который будет вызываться после этого фильтра, не будет вызван.
Если я использую переадресацию отправки, тогда будет вызван фильтр, но URL-адрес отобразится в браузере.
Затем я попытался класс HttpRequestWrapper
изменить URI, переопределив метод getRequestURI()
, и я написал всю логику, чтобы изменить URI и вернуть его.Этот метод вызывается, и URL действительно изменяется.
Однако Tomcat всегда выдает ошибку HTTP 404.Я также попробовал с GlassFish.
Я не знаю, в чем проблема.Является ли переопределение getRequestURI()
правильным решением?