web.xml
<error-page>
<error-code>404</error-code>
<location>/building.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
JSP頁面的關(guān)鍵在于
1 isErrorPage="true"
2 response.setStatus(HttpServletResponse.SC_OK);
building.jsp
<%@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%>
<%response.setStatus(HttpServletResponse.SC_OK);
%>
<%
/**
* 本頁面是在客戶查找的頁面無法找到的情況下調(diào)用的
*/
response.setStatus(HttpServletResponse.SC_OK);
%>
<body>
正在制作... <a href="javascript:history.go(-1)">返回</a>
<br/>
也可能頁面連接更改了,,請按 F5 鍵刷新整個頁面看看,,特別是菜單!
</body>
error.jsp
<%@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%>
<%@ page import="java.io.*,java.util.*"%>
<%response.setStatus(HttpServletResponse.SC_OK);
%>
<body>
程序發(fā)生了錯誤,,有可能該頁面正在調(diào)試或者是設(shè)計上的缺陷.<br/>
你可以選擇<br/> <a href=<%=request.getContextPath()+"/forum/new.jsp" %>>反饋</a>
提醒我... 或者<br/><a href="javascript:history.go(-1)">返回上一頁</a>
<hr width=80%>
<h2><font color=#DB1260>JSP Error Page</font></h2>
<p>An exception was thrown: <b> <%=exception.getClass()%>:<%=exception.getMessage()%></b></p>
<%
System.out.println("Header....");
Enumeration<String> e = request.getHeaderNames();
String key;
while(e.hasMoreElements()){
key = e.nextElement();
System.out.println(key+"="+request.getHeader(key));
}
System.out.println("Attribute....");
e = request.getAttributeNames();
while(e.hasMoreElements()){
key = e.nextElement();
System.out.println(key+"="+request.getAttribute(key));
}
System.out.println("Parameter....");
e = request.getParameterNames();
while(e.hasMoreElements()){
key = e.nextElement();
System.out.println(key+"="+request.getParameter(key));
}
%>
111<%=request.getAttribute("javax.servlet.forward.request_uri") %><br>
<%=request.getAttribute("javax.servlet.forward.servlet_path") %>
<p>With the following stack trace:</p>
<pre>
<%exception.printStackTrace();
ByteArrayOutputStream ostr = new ByteArrayOutputStream();
exception.printStackTrace(new PrintStream(ostr));
out.print(ostr);
%>
</pre>
<hr width=80%>
</body>