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