我尝试使用
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/errors/error.jsp</location>
</error-page>
但我没有抓到404错误。如何在同一页面上捕获404等错误?我想将所有错误代码捕获到相同的错误页面jsp。
答案 0 :(得分:10)
您可以为
添加<error-code>
标记
<error-page>
<error-code>404</error-code>
<location>/errors/error.jsp</location>
</error-page>
更新:
根据您更新的问题 - 您必须在web.xml中单独定义EACH错误代码。
使用<exception-type>java.lang.Throwable</exception-type>
将捕获错误500但不捕获404s
答案 1 :(得分:3)
我正在使用它:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/pages/exception/sorry.html</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/security/403</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/security/404</location>
</error-page>
答案 2 :(得分:0)
在Tomcat7中(可能适用于旧版本,但我没有检查)
添加您想要的错误页面(例如404.jsp,general_error.php等)
添加到web.xml(首先是所有内容,然后是特定内容。当然,请将其调整为您的代码):
<error-page>
<location>general_error.php</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>404.jsp</location>
</error-page>
<error-page>
<error-code>409</error-code>
<location>error_page.jsp?error=custom_message</location>
</error-page>