Я использую 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.