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";