首先,Struts2.1的异常处理机制是声明式的,并不是常用的try{···}catch{···}形式的异常处理。
然后,Struts2.1的声明式异常处理机制是在struts.xml文件中配置exception-mapping元素来实现的,并且根据exception-mapping元素放置的的地方不同,可以分为全局异常映射与局部的异常映射两种:
全局的异常映射:
将exception-mapping元素放在global-exception-mapping元素中时,就表示为全局的异常映射,对所有的Action都有效
局部的异常映射:
将exception-mapping元素放在action元素中时,就表示为局部的异常映射,只对当前的Action有效
注:
exception是所有的异常的父类,因此,下面的配置是可以捕捉到Action的所有的异常
<global-results> <result name="exception">/exception.jsp</result> </global-results> <!--定义全局异常映射--> <global-exception-mapping> <exception-mapping exception="java.lang.Exception",result="exception"/> </global-exception-mapping>