struts2 异常处理 404错误

来源:互联网 发布:python 2.7 3.5 区别 编辑:程序博客网 时间:2024/06/05 07:45



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>
<action name="sqlError" class="action.ExceptionAction"  method="sqlError">
<result name="sqlError">/index.jsp</result>
</action>

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










0 0