struts2异常处理
openkk
12年前
今天处理了struts2 的异常,跟大家分享下:
1.处理不存在的Action:
只需在struts.xml中加
<default-action-ref name="defaultAction" /> <action name="defaultAction" class="com.lsw.permission.action.DefaultAction" />
2.处理其他异常(如空指针,不存在的方法...),我们一般会定义全局异常及全局Result:
<global-results><!-- 定义全局Result --> <result name="redirect" type="redirect">${returnPageURL}</result> <result name="dispatcher" type="dispatcher">${returnPageURL}</result> <result name="login" type="dispatcher">/login.jsp</result> <result name="exceptionError" type="dispatcher">/WEB-INF/jsp/error/exception.jsp</result> </global-results> <global-exception-mappings><!-- 全局异常处理 --> <exception-mapping result="exceptionError" exception="java.lang.NullPointerException" /> <exception-mapping result="exceptionError" exception="java.lang.NoSuchMethodException" /> <exception-mapping result="exceptionError" exception="java.lang.Exception" /> </global-exception-mappings>
3.处理不存在的页面,如不存在的JSP,html,htm等页面(404异常),struts是不能处理这个异常的,还有其他异常(如500,401等等)都交给tomcat来处理,只需在web.xml中加如下配置即可:
<!-- 处理不存在的页面 --> <error-page> <error-code>404</error-code> <location>/WEB-INF/jsp/error/404.jsp</location> </error-page> <!-- 处理500异常 --> <error-page> <error-code>500</error-code> <location>/WEB-INF/jsp/error/500.jsp</location> </error-page>