struts2異常處理

openkk 12年前發布 | 32K 次閱讀 Struts2 Web框架

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

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!