您的位置:首页 > 其它

web.xml 配置404和500错误的自定义页面

2015-01-16 15:15 501 查看
web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"

xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>

</web-app>

JSP页面的关键在于

isErrorPage="true"

response.setStatus(HttpServletResponse.SC_OK);

building.jsp:

<%@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%>

<%response.setStatus(HttpServletResponse.SC_OK);%>

<%

/**

* 本页面是在客户查找的页面无法找到的情况下调用的

*/

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>

程序发生了错误,有可能该页面正在调试或者是设计上的缺陷.<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>

<%

Enumeration<String> e = request.getHeaderNames();

String key;

while(e.hasMoreElements()){

key = e.nextElement();

}

e = request.getAttributeNames();

while(e.hasMoreElements()){

key = e.nextElement();

}

e = request.getParameterNames();

while(e.hasMoreElements()){

key = e.nextElement();

}

%>

<%=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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: