论坛首页 Java企业应用论坛

Struts自定义异常处理机制(重点)

浏览 2710 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-12   最后修改:2009-02-13
自动异常处理机制
手动异常和自动异常的区别:
即在Action中不捕捉异常,而是将异常抛出给struts框架处理
我们需要在配置文件中指示struts如何处理这些被抛出的异常

使用<exception/>元素来定义自动异常处理

原理:
a.自定义一个异常类:ErrorCodeException继承RunTimeException,该类含有属性错误码和占位符,构造方法可以接收错误码,和占位符
b.自定义一个异常处理类:ErrorCodeExceptionHandler继承自ExceptionHandler,
c.负责登录的Action不进行捕捉异常,而是继续晚上抛,由框架中的ExceptionHandler及其子类来处理异常,具体要要看Struts-config.xml文件中配置而定,在以下的配置中,则由ErrorCodeExceptionHandler复写了ExceptionHandler中的方法execute(),则由ErrorCodeExceptionHandler来处理异常:
  例如:<!-- 全局exception -->
   <global-exceptions>
    <exception key="error.exception"    type="com.wlh.exception.ErrorCodeException" handler="com.wlh.exception.handler.ErrorCodeExceptionHandler"/>
  </global-exceptions>

d、ErrorCodeExceptionHandler的execute方法中从ErrorCodeException对象中得到错误码和占位符的填充值,然后就可以将异常信息添加到Globals.EXCEPTION_KEY
e.最后和手动异常处理一样,可以通过html:messages和html:errors得到错误和成功信息
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics