配置web404,500等异常页面
来源:互联网 发布:jsp asp php 编辑:程序博客网 时间:2024/05/22 19:06
转载博客地址:http://blog.csdn.net/kalision/article/details/11116047
web开发中异常信息是很重的信息,对开发人员是其相当重要的,对这些异常信息进行转换为用户能理解的信息就更重要了~
在单纯的JSP开发中,处理异常信息一般使用web.xml来定义。
01
<error-page>
02
<error-code>
400
</error-code>
03
<location>/
400
.html</location>
04
</error-page>
05
06
<error-page>
07
<error-code>
404
</error-code>
08
<location>/
404
.html</location>
09
</error-page>
10
11
<error-page>
12
<error-code>
500
</error-code>
13
<location>/error.jsp</location>
14
</error-page>
这是很简单的!
如果现在想在页面中设置一个隐藏div来供开发人员查看异常信息呢?
整理下网站说的一些方法:
最常说的:
01
<%
@page
contentType=
"text/html;charset=Big5"
isErrorPage=
"true"
%>
02
<html>
03
<head><title>出现错误</title></head>
04
<body>
05
<H1>错误:</H1><%=exception%>
06
<H2>错误内容:</H2>
07
<%
08
exception.printStackTrace(response.getWriter());
09
%>
10
</body>
11
</html>
因为这个页面调用了exception内置对象,所以isErrorPage必须为true。
这个是能打印出异常信息的,但是放入了response中,页面从头就开始打印异常信息,用户不明白异常信息~影响用户使用。
另一种常见方法:
不仅可以使用jsp内置exception对象来取得异常,也可以取得request中的attribute
1
<%
@page
contentType=
"text/html;charset=Big5"
isErrorPage=
"true"
%>
2
<html>
3
<head><title>错误信息</title></head>
4
<body>
5
错误码: <%=request.getAttribute(
"javax.servlet.error.status_code"
)%> <br>
6
信息: <%=request.getAttribute(
"javax.servlet.error.message"
)%> <br>
7
异常: <%=request.getAttribute(
"javax.servlet.error.exception_type"
)%> <br>
8
</body>
9
</html>
同理的还有
<%= exception.getMessage()%>
<%=exception%>
<c:out value="${requestScope['javax.servlet.error.message']}"/>
这个也可能打印异常信息,但有时只会打印出一个null.没有任何有价值信息。
-----------------------
还有一个特殊情况:
Error Page在IE下不能转发的问题
这是IE自身的设定导致的,经过百度,找到几个解决办法:
1, IE设定 工具-->Internet选项-->高级--->显示http友好错误信息(取消选择) , 这样就可以了
2, 设置指定错误页页状态为正常,来告诉IE这不是一个服务器错误, 从而不显示IE的自定义错误页
<%
response.setStatus(200); // 200 = HttpServletResponse.SC_OK
%>
3, 把错误页做大一点,弄个几百K 就可以显示错误页面 (加一个div块,display设为none就可以了),这个问题比较奇怪.
这个问题我还没有遇到过~先记录在这儿吧~~
现在能符合要求的处理方法是:
01
<%@ page language=
"java"
contentType=
"text/html; charset=GB18030"
02
pageEncoding=
"GB18030"
%>
03
<%@ taglib uri=
"http://java.sun.com/jsp/jstl/core"
prefix=
"c"
%>
04
<%@ page isErrorPage=
"true"
%>
//一定要写,不能显示错误
05
<%
06
response.setStatus(HttpServletResponse.SC_OK);
//这句也一定要写,不然IE不会跳转到该页面
07
String path=request.getContextPath();
08
%>
09
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"
>
10
<html>
11
<head>
12
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=GB18030"
>
13
<title>Insert title here</title>
14
</head>
15
<body>
16
500
error
17
<div>系统执行发生错误,信息描述如下:</div>
18
<div>错误状态代码是:${pageContext.errorData.statusCode}</div>
19
<div>错误发生页面是:${pageContext.errorData.requestURI}</div>
20
<div>错误信息:${pageContext.exception}</div>
21
<div>
22
错误堆栈信息:<br/>
23
<c:forEach var=
"trace"
items=
"${pageContext.exception.stackTrace}"
>
24
<p>${trace}</p>
25
</c:forEach>
26
</div>
27
</body>
28
</html>
- 顶
- 配置web404,500等异常页面
- 404,500等错误页面配置
- tapestry 异常页面配置
- jsp错误页面404、500等异常捕获
- 配置404等错误页面
- 404/500/错误/异常/默认页面配置汇总
- 配置404,错误页面异常页面及其页面打印错误代码
- struts2 异常跳转页面配置
- struts2异常页面配置《做参考》
- web.xml配置错误异常页面不起作用
- javaweb 配置系统错误页面404或500 等其他错误代码
- nginx反向代理,页面缓存,虚拟主机等快速配置
- web.xml中配置404等错误页面
- 在web.xml中配置异常处理页面
- java最简单方法配置统一异常页面
- 在web.xml中配置异常处理页面
- Django中配置异常显示页面==路由
- 文件之后xml及jsp等各种页面中的部分显示异常问题
- nsSkinEngine - 最好用的美化安装包NSIS DirectUI界面库插件
- 理想的互联网服务后台框架的九个要点
- HTML中的几种定位方式
- Java设计模式之——装饰模式
- 公钥和私钥
- 配置web404,500等异常页面
- Echart3.0报错的解决笔记
- 2016天猫抢红包脚本
- CUDA-Code1-HelloWorld
- 【UML】状态图(statechart Diagram)
- Linux学习35_ Linux ssh 无法登录:Permission denied, please try again 案例分析
- Redis消息队列示例
- [BC#89B]Fxx and game
- 用网站创建,删除用户