有时候我们访问一个页面会报两种错误:
- 404 //找不到网页
- 500 //服务器出现错误
那后台我们如何跳转页面呢?
第一步:发生错误页面<%@ page 内 设置errorPage="common/zz.jsp"
<%@ page language="java" contentType="text/html;
charset=UTF-8"
pageEncoding="UTF-8"
import="hah.*"
errorPage="common/zz.jsp"
%>
注意:common文件在WebContent文件下
第二步:配置错误处理页面isErrorPage="true"
<%@ page language="java" contentType="text/html;
charset=UTF-8"
isErrorPage="true"
pageEncoding="UTF-8"%>
注意:该页面可以使用内置对象exception来显示错误信息:
<%=exception.getMessage() %>
但是这样子就要对每个有可能报错误的页面加头部 多麻烦啊 这个时候可以配置全局在web.xml中:
<error-code>404</error-code>
<location>/common/404.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/common/500.jsp</location>
</error-page>
意思就是 如果页面报404错误,那么就进入common的404.html中
如果页面报500错误,那么久进入common的500.jsp中
为什么404要html 而500是jsp?
因为:404的错误原因都是一个 那就是找不到页面,而500的错误原因则是千奇百怪,要动态加载错误。
强调:
errorPage="common/zz.jsp"和全局配置错误处理页面那么到底跳转到哪一个呢?
就近原则 会跳转到 errorPage指定的页面