您可以利用JSTL标记编写具有更好结构和更多信息的错误页面ShowError.jsp-
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %> <%@page isErrorPage = "true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Opps...</h1> <table width = "100%" border = "1"> <tr valign = "top"> <td width = "40%"><b>Error:</b></td> <td>${pageContext.exception}</td> </tr> <tr valign = "top"> <td><b>URI:</b></td> <td>${pageContext.errorData.requestURI}</td> </tr> <tr valign = "top"> <td><b>Status code:</b></td> <td>${pageContext.errorData.statusCode}</td> </tr> <tr valign = "top"> <td><b>Stack trace:</b></td> <td> <c:forEach var = "trace" items = "${pageContext.exception.stackTrace}"> <p>${trace}</p> </c:forEach> </td> </tr> </table> </body> </html>
访问main.jsp,将生成以下内容-
错误: | java.lang.RuntimeException:错误情况!!! |
URI: | /main.jsp |
状态码: | 500 |
堆栈跟踪: | org.apache.jsp.main_jsp._jspService(main_jsp.java:65) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) |