`
wlh269
  • 浏览: 447879 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
自动异常处理机制
手动异常和自动异常的区别:
即在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得到错误和成功信息
分享到:
评论
1 楼 happyClover0505 2009-02-13  
wlh269 写道
自动异常处理机制
即在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得到错误和成功信息

学习了!好资料哦

相关推荐

Global site tag (gtag.js) - Google Analytics