Как указать страницу ошибки по умолчанию в веб.xml?
Я использую <error-page>
элемент web.xml чтобы указать дружественную страницу ошибки, когда пользователь сталкивается с определенной ошибкой, такой как ошибка с кодом 404:
<error-page>
<error-code>404</error-code>
<location>/Error404.html</location>
</error-page>
тем не менее, я хочу, чтобы если пользователь не соответствует какой-либо код ошибки, указанный в <error-page>
, он или она должен видеть страницу ошибки по умолчанию. Как я могу это сделать, используя элемент в web.xml?
3 ответа:
на сервлете 3.0 или новее вы можете просто указать
<web-app ...> <error-page> <location>/general-error.html</location> </error-page> </web-app>
но поскольку вы все еще находитесь на сервлете 2.5, нет другого способа, кроме указания каждой общей ошибки HTTP по отдельности. Вам нужно выяснить, с какими ошибками HTTP может столкнуться конечный пользователь. На веб-приложении barebones, например, с использованием HTTP-аутентификации, имея отключенный список каталогов, используя пользовательские сервлеты и код, который может вызывать необработанные исключения или не имеет всех реализованных методов, затем вы хотите установить его для ошибок HTTP 401, 403, 500 и 503 соответственно.
<error-page> <!-- Missing login --> <error-code>401</error-code> <location>/general-error.html</location> </error-page> <error-page> <!-- Forbidden directory listing --> <error-code>403</error-code> <location>/general-error.html</location> </error-page> <error-page> <!-- Missing resource --> <error-code>404</error-code> <location>/Error404.html</location> </error-page> <error-page> <!-- Uncaught exception --> <error-code>500</error-code> <location>/general-error.html</location> </error-page> <error-page> <!-- Unsupported servlet method --> <error-code>503</error-code> <location>/general-error.html</location> </error-page>
Это должно охватывать наиболее распространенные из них.
вы также можете сделать что-то вроде этого:
<error-page> <error-code>403</error-code> <location>/403.html</location> </error-page> <error-page> <location>/error.html</location> </error-page>
для кода ошибки 403 он вернет страницу 403.html, и для любого другого кода ошибки он вернет ошибку страницы.формат html.
вы также можете указать
<error-page>
для исключений с помощью<exception-type>
, например, ниже:<error-page> <exception-type>java.lang.Exception</exception-type> <location>/errorpages/exception.html</location> </error-page>
или сопоставить код ошибки с помощью
<error-code>
:<error-page> <error-code>404</error-code> <location>/errorpages/404error.html</location> </error-page>