struts2异常处理

今天处理了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>

 

你可能感兴趣的:(struts2处理异常,不存在的Action,处理404异常,处理500异常)