Я пытался изменить поведение стороннего приложения, с которым я работаю, написав фильтр сервлета для пересылки запроса на определенный URL-адрес на основе определенных условий.
Сначала я пытался использовать request.getDispatcher(url).forward();
, но мне всегда предлагали страницу 404, показывающую, что URL не может быть найден. Вместо этого я справился с этим, используя request.sendRedirect
, но только теперь я понял, что экран 404 - это то, что я обычно вижу на сервере tomcat.
Это заставило меня задуматься о конфигурации в этом случае. URL, который я пытаюсь переслать, - это скрипт cgi. У нас есть apache в качестве внешнего интерфейса, подключенного через коннекторы ajp, и apache настроен для выполнения сценариев cgi.
Итак, мой вопрос: был ли переход foward из фильтра сервлетов в apache или он обрабатывается форвардом специально для tomcat, и поэтому он не будет работать?