注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

断尘居

温柔的男人像海洋。

 
 
 
 
 

日志

 
 

在JSP的web.xml中指定错误页面  

2010-05-09 20:54:38|  分类: Jsp / Servlet |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

webxml中的配置
步骤如下:
一、打开WEB-INF文件夹下web.xml文件;
二、在里面新增:
<!-- 404 页面不存在错误 -->
<error-page>
<error-code>404</error-code>
<location>/errorpage404.htm</location>
</error-page>
<!-- 500 服务器内部错误 -->
<error-page>
<error-code>500</error-code>
<location>/errorpage500.htm</location>
</error-page>
<!-- java.lang.Exception异常错误,依据这个标记可定义多个类似错误提示 -->
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/exception.htm</location>
</error-page> 

三、保存web.xml文件,重启应用服务器。

★ 在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);  

  评论这张
 
阅读(2451)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017