当用户遇到某些错误(例如,代码为404的错误)时,我正在使用web.xml中的元素来指定友好错误页面:
<error-page> <error-code>404</error-code> <location>/Error404.html</location> </error-page>
但是,我希望如果用户不符合中指定的任何错误代码,则他或她应该看到默认错误页面。我该如何使用web.xml中的元素呢?
在Servlet 3.0或更高版本上,你只需指定
<web-app ...> <error-page> <location>/general-error.html</location> </error-page> </web-app>
但是,由于你仍在使用Servlet 2.5,因此别无选择,只能单独指定每个常见的HTTP错误。你需要确定最终用户可能遇到的HTTP错误。在使用HTTP身份验证,拥有禁用目录列表,使用自定义servlet和代码(可能会引发未处理的异常或未实现所有方法的代码)的准系统Web应用程序上,你需要针对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>
那应该涵盖最常见的那些。