web.xml: 这种写法在ie浏览器下有问题. 必须在IE【工具】->【Internet选项】->【高级】中勾掉【显示友好http错误提示】; 但我们不能控制客户的浏览器 <error-page> <error-code>404</error-code> <location>/error404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/error500.jsp</location> </error-page> ---------------------------- 正确的: <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> <error-page> <error-code>400</error-code> <location>/error.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page> error.jsp: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.io.*" errorPage="error.jsp"%> <html> <head> <title>自定义的错误页</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> </head> <body marginwidth="0" leftmargin="0" bgcolor="ffffff"> <table width="90%"> <tbody> <tr> <td width="98%"> 这是自定义的错误页 <hr> </td> </tr> <tr> <td></td> </tr> <tr> <td> <% int status_code = -1; String exception_info = null; Exception theException = null; status_code = ((Integer) request.getAttribute("javax.servlet.error.status_code")); exception_info = (String) request.getAttribute("javax.servlet.error.message"); theException = (Exception) request.getAttribute("javax.servlet.error.exception_type"); if(status_code==404) response.sendRedirect("error404.jsp"); if(status_code==500) response.sendRedirect("error500.jsp"); out.println("<br><b>StatusCode:</b> " + status_code); out.println("<br><b>Exception:</b>" + exception_info); %> </TD> </TR> <TD> <HR> </TD> </TR> </TBODY> </TABLE> </body> </html>