天天看點

struts2 異常處理 404錯誤

struts2 異常處理 404錯誤

struts.xml

<?xml version="1.0" encoding="utf-8" ?>

<!doctype struts public

    "-//apache software foundation//dtd struts configuration 2.0//en"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

   <constant name="struts.i18n.encoding" value="utf-8" />

    <constant name="struts.custom.i18n.resources" value="guojihua" />

    <constant name="struts.devmode" value="true" />

    <!-- 所有的package都要必須繼承struts-default,父類中繼承,其就不需要繼承 -->

   <package name="exception" namespace="/exception" extends="struts-default">

       <!-- 設定預設action,當找不到頁面時會用此action -->

       <default-action-ref name="notfind404"/>

       <!-- 公共的跳轉頁面 -->

       <global-results>

           <result name="lang">/javaerror.jsp</result>

           <result name="sql">/sqlerror.jsp</result>

       </global-results>

       <!-- 公共異常處理 -->

       <global-exception-mappings>

           <exception-mapping exception="java.lang.exception" result="lang" />

           <exception-mapping exception="java.sql.sqlexception" result="sql" />

       </global-exception-mappings>

       <!-- 找不到頁面後的跳轉頁面 -->

       <action name="notfind404">

            <result>/notfind404.jsp</result>

        </action>  

   </package>

   <!-- 繼承exception 的package -->

<package name="lhy"  namespace="/" extends="truts-default,exception" >

<action name="tiaozhuan" class="action.exceptionaction"  method="tiaozhuan">

<result name="tiaozhuan">/index.jsp</result>

</action>

<action name="javaerror" class="action.exceptionaction"  method="javaerror">

<result name="javaerror">/index.jsp</result>

<action name="sqlerror" class="action.exceptionaction"  method="sqlerror">

<result name="sqlerror">/index.jsp</result>

</package>

</struts>

exceptionaction.java

package action;

import com.opensymphony.xwork2.actionsupport;

public class exceptionaction extends actionsupport{

public string tiaozhuan()

{

return "tiaozhuan";

}

public string javaerror() 

int i=0;

int j=1;

int h=0;

h=j/i;//此處抛出異常,再struts中捕獲

/* try{     //此處處理異常,在struts中無法捕獲。

  h=j/i;

catch(exception e)

e.printstacktrace();

}*/

return "javaerror";

public string sqlerror()

return "sqlerror";