截转自https://blog.csdn.net/ldpyes/article/details/8307288
jsp编译指令page有errorPage和isErrorPage这两个属性,可以实现自定义友好异常界面。errorPage指定异常后要跳转到哪个页面,此jsp页面必须是isErrorPage=“true”。
一个简单的例子
test.jsp的代码如下:
-
<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="error.jsp" %>
//指定异常后要跳转的页面为error.jsp
-
<html>
-
<head>
-
<title>
欢迎
</title>
-
</head>
-
<body>
-
欢迎学习jsp知识
-
<%
-
out.println(
new
java.til.
Date
( )); //此处为出错的地方
-
%>
-
</body>
-
</html>
error.jsp代码如下:
-
<%@ page contentType=
"text/html; charset=UTF-8" isErrorPage=
"true"%>
-
<html>
-
<head>
-
<title>
错误提示页面
</title>
-
</head>
-
<body>
-
系统出现异常
<br/>
-
</body>
-
</html>
然后,运行后的结果却有些意料之外,还是那个我们非常熟悉的Http Status 500错误。
原因有两个:
一、浏览器问题
实际上很可能是这个问题
解决办法:在浏览器的设置–Intent选项–高级中取消掉“显示友好HTTP错误信息”这一项。
二、错误类型问题
如果你使用的是火狐或者设定好的IE,还是无法解决的话,那么就是错误类型问题了。
例子中的错误是语法错误,这种错误是不会跳转的。
只有Exception才能跳转,比如下面这个jsp页面就可以。
-
<%@ page contentType=
"text/html; charset=UTF-8" language=
"java" errorPage=
"error.jsp" %>
-
<html>
-
<head>
-
<title>
欢迎
</title>
-
</head>
-
<body>
-
欢迎学习Java Web知识
-
<%=1/0%>
-
</body>
-
</html>