随笔 - 30, 文章 - 0, 评论 - 27, 引用 - 0
数据加载中……

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

web.xml

 1<?xml version="1.0" encoding="UTF-8"?>
 2<web-app version="2.4" 
 3    xmlns="http://java.sun.com/xml/ns/j2ee" 
 4    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 5    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 6    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 7    
 8<error-page>
 9    <error-code>404</error-code>
10    <location>/building.jsp</location>
11</error-page>
12
13<error-page>
14    <error-code>500</error-code>
15    <location>/error.jsp</location>
16</error-page>
17    
18</web-app>
19

 

 

JSP页面的关键在于

1 isErrorPage="true"

2 response.setStatus(HttpServletResponse.SC_OK);

building.jsp

 

 1<%@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%>
 2<%response.setStatus(HttpServletResponse.SC_OK);%>
 3<%
 4/**
 5* 本页面是在客户查找的页面无法找到的情况下调用的
 6*/

 7response.setStatus(HttpServletResponse.SC_OK);
 8%>
 9<body>
10正在制作 <a href="javascript:history.go(-1)">返回</a>
11<br/>
12也可能页面连接更改了,请按 F5 键刷新整个页面看看,特别是菜单!
13</body>

 

error.jsp

 1<%@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%>
 2<%@ page import="java.io.*,java.util.*"%>
 3<%response.setStatus(HttpServletResponse.SC_OK);%>
 4<body>
 5程序发生了错误,有可能该页面正在调试或者是设计上的缺陷.<br/>
 6你可以选择<br/> <a href=<%=request.getContextPath()+"/forum/new.jsp" %>>反馈</a>
 7提醒我 或者<br/><a href="javascript:history.go(-1)">返回上一页</a>
 8<hr width=80%>
 9<h2><font color=#DB1260>JSP Error Page</font></h2>
10<p>An exception was thrown: <b> <%=exception.getClass()%>:<%=exception.getMessage()%></b></p>
11<%
12Enumeration<String> e = request.getHeaderNames();
13String key;
14while(e.hasMoreElements()){
15  key = e.nextElement();
16}

17= request.getAttributeNames();
18while(e.hasMoreElements()){
19  key = e.nextElement();
20}

21= request.getParameterNames();
22while(e.hasMoreElements()){
23  key = e.nextElement();
24}

25%>
26<%=request.getAttribute("javax.servlet.forward.request_uri"%><br>
27<%=request.getAttribute("javax.servlet.forward.servlet_path"%>
28<p>With the following stack trace:</p>
29<pre>
30<%
31  exception.printStackTrace();
32  ByteArrayOutputStream ostr = new ByteArrayOutputStream();
33  exception.printStackTrace(new PrintStream(ostr));
34  out.print(ostr);
35%>
36</pre>
37<hr width=80%>
38</body>





文章转自:http://blog.csdn.net/java2000_net/archive/2007/12/29/2000965.aspx

posted on 2008-01-09 22:33 石业海 阅读(34579) 评论(2)  编辑  收藏 所属分类: 其它

评论

# re: web.xml 配置404和500错误的自定义页面   回复  更多评论   

大师 问一下 我用您的方法 为什么500错误的可以 而404的怎么也不行 请帮我解答一下吧 谢谢 qq379878654
2008-08-04 16:37 | 张丽云

# re: web.xml 配置404和500错误的自定义页面   回复  更多评论   

goodgood boy!
2013-07-17 11:53 | feilian09

只有注册用户登录后才能发表评论。


网站导航: