JSP页面的异常处理<转>

 对于jsp页面错误处理这里大致有两种方式:
一、在Web.xml中配置全局的错误异常处理

    即凡是该项目下(即虚拟路径下的所有文件)的任意一个文件错误或者异常,都会跳到指定的错误处理页面。
    全局的错误处理可以处理两种类型的错误:一种是HTTP代码的错误,如404,500,还有一种是异常的错误,如:NullPointerException
   
例如修改web.xml文件,加入以下代码:
<error-page>

 <error-code>500</error-code>
 <location>目录/error.jsp</location>
</error-page>
 
<error-page>
 <error-code>404</error-code>
 <location>目录/notfount.jsp</location>
</error-page>
 
<error-page>
 <exception-type>java.lang.NullPointerException</exception-type>
 <location>/目录/error.jsp</location>
</error-page>
 <error-page>
  <exception-type>java.lang.Exception</exception-type>
  <location>
/目录/exception.jsp</location>
</error-page>

######:注意:
1、可以在web.xml文件中使用<error-page>元素为整个WEB应用程序设置错误处理页面,其中的<exception- type>子元素指定异常类的完全限定名,<location>元素指定以“/”开头的错误处理页面的路径。??
    2、由于如果用户直接访问errorpage会发生空指针异常,所以errorpage一般被放在WEB-INF目录下,只有转发机制才可以访问到,而错误跳转使用的正是转发机制。

二、局部异常处理
 

1、在可能出现异常的Java脚本中,加上try...catch

<%

try{

}

catch(){

}

%>

2、在page指令中增加errorPage属性

<%@   page  errorPage="/error.jsp" %>

errorPage的属性必须使用相对路径,如果一“/”开发,那么代表Web工程的根目录

 

如果我们指定了errorPage属性的值为error.jsp,那么在访问出现错误时,就会跳转到error.jsp(是转发过去的),如果想要了解异常的信息和对其进行处理,那么就要在error.jsp中设置page指令中的isErrorPage属性

<%@  page  isErrorPage="true"%>

那么,在这个页面中,就可以调用exception隐式对象比如:

               对不起,出错了:<%=exception.getMessage() %>

。如果没有将isErrorPage属性设置为true的话,exception隐式对象是不可以调用的。

####注意:  

 errorPage属性的设置值必须使用相对路径,如果以“/”开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录),否则,表示相对于当前页

 

原文链接:http://blog.sina.com.cn/s/blog_7ffb8dd501013w05.html

posted @ 2014-04-24 17:05  huazhiliange  阅读(463)  评论(0编辑  收藏  举报