Я использую <error-page>
элемент в web.xml, чтобы указать дружественную страницу ошибки, когда пользователь сталкивается с определенной ошибкой, такой как ошибка с кодом 404:
<error-page>
<error-code>404</error-code>
<location>/Error404.html</location>
</error-page>
Тем не менее, я хочу, чтобы, если пользователь не встречал код ошибки, указанный в нем <error-page>
, он или она должен видеть страницу ошибки по умолчанию. Как я могу сделать это, используя элемент в web.xml ?
web.xml
объявили? Там только с Servlet 3.0 легкий путь.Ответы:
На Servlet 3.0 или новее вы можете просто указать
Но, поскольку вы все еще используете Servlet 2.5, нет другого способа, кроме индивидуальной настройки каждой распространенной ошибки HTTP. Вам необходимо выяснить, с какими ошибками HTTP может столкнуться конечный пользователь. В простом веб-приложении, например, с использованием HTTP-аутентификации, с отключенным списком каталогов, с использованием пользовательских сервлетов и кода, который может генерировать необработанные исключения или не имеет всех реализованных методов, вы можете установить его для ошибок HTTP 401 403, 500 и 503 соответственно.
Это должно охватывать наиболее распространенные из них.
источник
<error-code>
тегом?web.xml
файл XSD доказывает это<error-code>
и<exception-type>
стал необязательным, а не обязательным. Смотрите выпуск 52135 .Вы также можете сделать что-то подобное:
Для кода ошибки 403 он вернет страницу 403.html, а для любого другого кода ошибки - страницу error.html.
источник
Вы также можете указать
<error-page>
исключения, используя<exception-type>
, например, ниже:Или сопоставьте код ошибки, используя
<error-code>
:источник