异常处理方式:
- 在execute中定义try{}cathc(){}来捕获异常。
- 在execute方法头中抛出异常throws Excepition。struts.xml中捕获处理。
第一种是手动处理异常,非常繁琐,维护性太差。
第二种直接在拦截中处理,相比第一种,我们只需要在struts.xml中配置各种异常的处理方式就可以了。维护更容易。
在struts.xml中异常处理机制分为两种,一种是局部异常映射<exception-mapping../>
作为<acion../>
的子元素。另一种是全局异常映射<exception-mapping../>
作为<global-excepiton-mappings../>
的子元素。(全局映射只能有一个)
<exception-mapping../>
中配置result=”返回视图的名字”。例:
<action ....>
<exception-mapping exception="java.lang.Exception" result="error"/>
<result name="error">/WEB-INF/error.jsp</result>
</action>
全局异常映射放在<package../>
下,而不是<action/>
下
异常输出信息:
采用struts自带的标签库:
<s: property value="exception"/>
输出异常对象本身
<s: property value="exceptionStack"/>
输出异常堆栈
当然也可以:
<s: property value="exception.message"/>
这是对应exception 对象中的方法getMessage。