天天看点

Struts2.x学习笔记之 异常处理

Struts2.x学习笔记之 异常处理

  上面的execute()方法可以抛出全部异常,这意味着重写该方法时,完全无须进行任何异常处理,而是把异常直接抛给Struts框架处理;Struts2框架接受到Action抛出的的异常之后,将根据struts.xml文件配置的异常映射,转入指定的视图资源。

声明式异常处理机制由ExceptionMappingInterceptor拦截器负责处理,当某个exception-mapping元素声明的异常被捕获到时,ExceptionMappingInterceptor拦截器就会向ValueStack中添加连个对象:

  1. exception:表示被捕获异常的Exception对象
  2. exceptionStack:包含着被捕获异常的栈

Exception两个属性:

  exception:此属性指定该异常映射所设置的异常类型。

  result:此属性指定Action出现该异常时,系统返回result属性值对应的逻辑视图名。

局部异常映射:将”exception-mapping…”元素作为”action…”元素的子元素配置。

全局异常映射:将”exception-mapping…”元素作为”global-exception-mapping”元素的子元素配置。

产生异常:

Struts2.x学习笔记之 异常处理

struts.xml的配置

可以使用struts2标签来输出异常信息

<s:property value = "exception"/>:输出异常堆栈信息
<s:property value = "exceptionStack"      

继续阅读