问题描述:学习JSP时尝试使用页面跳转的方式来提示页面错误信息,但是程序运行失败,并没有跳转到错误页。两段代码如下:
第一段(errorShow.jsp):
<!-- 当本文件出现错误时跳转到错误页 -->
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!-- 一旦出现错误,将跳转到error.jsp中 -->
<%@ page errorPage="error.jsp"%>
<%
int i = 10 / 0;//产生异常
%>
<h1>welcome to this page!</h1>
第二段(error.jsp):
<!-- errorShow_demo.jsp文件出现错误时跳转到本页面 -->
<%@ page language="java" contentType="text/html" pageEncoding="utf-8" %>
<!-- 表示此页面可以处理错误 -->
<%@ page isErrorPage="true" %>
<h1>errorShow_demo.jsp文件出现错误!</h1>
原因:Tomcat将error.jsp也认为出现了错误,所以无法显示。
解决办法:在error.jsp中添加如下代码片段:
<%
response.setStatus(200);//状态码可以选择200-203
%>
手动设置一个状态码,表示本页面没有错误,可以正常显示。
另外,给大家一个博客的地址,介绍了JSP中两种错误页跳转的方法:http://blog.csdn.net/xuexijava/article/details/5456875/