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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

JSP頁面的關(guān)鍵在于
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
* 本頁面是在客戶查找的頁面無法找到的情況下調(diào)用的
6
*/
7
response.setStatus(HttpServletResponse.SC_OK);
8
%>
9
<body>
10
正在制作
<a href="javascript:history.go(-1)">返回</a>
11
<br/>
12
也可能頁面連接更改了,請按 F5 鍵刷新整個頁面看看,特別是菜單!
13
</body>

2

3

4

5

6

7

8

9

10


11

12

13

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
程序發(fā)生了錯誤,有可能該頁面正在調(diào)試或者是設(shè)計上的缺陷.<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
<%
12
Enumeration<String> e = request.getHeaderNames();
13
String key;
14
while(e.hasMoreElements()){
15
key = e.nextElement();
16
}
17
e = request.getAttributeNames();
18
while(e.hasMoreElements()){
19
key = e.nextElement();
20
}
21
e = request.getParameterNames();
22
while(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>

2

3

4

5

6

7


8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

文章轉(zhuǎn)自:http://blog.csdn.net/java2000_net/archive/2007/12/29/2000965.aspx
posted on 2008-01-09 22:33 石業(yè)海 閱讀(34607) 評論(2) 編輯 收藏 所屬分類: 其它