Как взаимодействуют контекст приложения и шаблон URL? - PullRequest
1 голос
/ 16 февраля 2020

Я использую IntelliJ для раскрутки сервера Tomcat 9 с сервлетом Jersey внутри, чтобы отвечать на запросы REST.

Когда я использую развертывание IntelliJ Конфигурации запуска / отладки> вкладка Развертывание, я могу указать приложение context, база всех URL-адресов для этого сервера (после domain:port).

Когда я устанавливаю для контекста приложения значение /COMP/rest и задаю для web.xml <servlet-mapping><url-pattern> значение /*, я могу получить доступ все мои маршруты , за исключением , указанное web.xml <error-page> не работает для соответствующих ошибок [как будто Tomcat не может найти местоположение страницы, потому что он даже не возвращает стандартную страницу ошибок Tomcat, но полностью пустой 404, даже когда код ошибки был 500].

Как только я переключаю контекст приложения на /COMP и <url-pattern> на /rest/*, я вижу все маршруты и страницы ошибок работают .


Почему?


Обновление: Контекст приложения / и <url-pattern> /COMP/rest/* также работает для всех маршрутов ES и страницы ошибок.

Обновление 2 : Таким образом, я заставляю 500 И когда он работает, он обнаруживает 500 и обслуживает мои 500 страниц, но когда он не работает, как будто он выбрасывает 500, ищет мои 500 страниц, не может их найти, а затем выбрасывает 404 без отправки правильной страницы Tomcat 404.

...