Эксклюзивные URL-паттерны в дескрипторе Tomcat Web.xml
-
18-09-2019 - |
Вопрос
Я пытаюсь перенаправить ошибочные запросы страницы - 404 ошибок - на пользовательскую страницу ошибки. Для того, чтобы мой сервлет вместо корневого сервлета обрабатывал эти запросы, я ввел следующий URL-Pattern:
<url-pattern>/</url-pattern>
К сожалению, это также вызывает встроенные запросы на такие файлы, как *.js, *.css, *.png, *.jpg и другие подобные файлы. Есть ли способ в дескрипторе развертывания, чтобы указать эксклюзивный шаблон? Скажите: «Все, кроме запросов с удлинением X»?
Или есть другой способ обойти это, которого я не вижу?
Решение
Вы можете просто объявить страницу ошибки для ошибок HTTP 404 в DD следующим образом.
<error-page>
<error-code>404</error-code>
<location>/notFound.jsp</location>
</error-page>
Контейнер (Tomcat в вашем случае) будет затем захватывать любые HTTP 404 и перенаправить их на указанную вами страницу (/notfound.jsp в примере выше).
Есть некоторая документация на солнце, и еще несколько в Google Code.