web.xml配置错误页面

<q>

在web.xml中,可以使用exception-type标签或HTTP状态码error-code标签声明错误页面。

根据异常类声明错误页面:
<error-page> 
  <exception-type>java.io.IOException</exception-type> 
  <location>/error.jsp</location> 
</error-page> 
exception-type指定的必须是一个Throwable,并且这个类在容器的类路径下能够被找到。
根据HTTP状态码声明错误页面:
<error-page> 
  <error-code>404</error-code> 
  <location>/error.jsp</location> 
</error-page> 
使用error-page标签的要点:
① 不论是根据exception-type还是error-code来声明错误页面,location指定的路径必须以斜线开头,也就是说它是相对于Web应用根的。
② 一个web.xml中可以使用多个error-page标签,一个error-page标签中只能使用一个exception-type或error-page。

★ 在JSP中,可以在page指令中通过errorPage属性来指定错误页面:
<%@ page errorPage="error.jsp" %> 

★ 容器会为错误页面提供一个exception对象,不过要想在错误页面里访问这个对象,必须在错误页面里指定isErrorPage属性:
error.jsp
<%@ page isErrorPage="true" %> 
然后,在scriptlet中就可以使用隐式对象exception,在EL中可以使用EL隐式对象${pageContext.exception}。

★ 其它要点:
如果是JSP中抛出的异常,容器首先查看JSP中有没有指定errorPage属性,如果没有,再查看web.xml中有没有error-page标签;如果是Web应用中的其它地方抛出异常,容器只会查看web.xml中的error-page标签。
可以通过HttpServletResponse.sendError()方法来发送错误的HTTP状态码:

response.sendError(HttpServletResponse.SC_FORBIDDEN); 

</q>


注意:这里配置的web.xml是该项目自己的配置文件,位于WEB-INF文件夹中,而不是容器的web.xml !!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值