В целом обработка пользовательских страниц ошибок больше связана со спецификацией сервлета, а не с самим контейнером приложения.Следовательно, наиболее распространенное место для этого - в вашем web.xml
, например:
<error-page>
<error-code>404</error-code>
<location>/my-404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/my-500.jsp</location>
</error-page>
Если вышеприведенное все еще не работает, убедитесь, что в вашем файле web.xml указан правильный XSD,Легко использовать старый, который заставляет JBoss использовать старую версию API сервлета, которая не распознает вышеуказанные теги.В общем, этот работает для меня с сервлетом 2.5:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
Из интереса, JBoss 5.0.x и 5.1.0, глобальный файл web.xml
расположен в server/<your server>/deployers/jbossweb.deployer/web.xml
и ROOT.war находится на server/<your server>/deploy/ROOT.war
.Это позволит вам создавать пользовательские страницы ошибок для всех приложений на сервере.