毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

struts2异常拦截器global-results不起作用

更新时间:2012-7-20:  来源:毕业论文

配置文件: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.objectFactory" value="spring" />
<constant name="struts.devMode" value="true" />
<constant name="struts.custom.i18n.resources" value="i18n/Messages" />
<package name="crud-default" extends="struts-default" namespace="/">
<interceptors>
<interceptor name="exceptionManager" class="com.igames.fourd.aop.ExceptionInterceptor" />
<!-- 异常拦截器的拦截栈 -->
<interceptor-stack name="commonInterceptor">
<interceptor-ref name="exceptionManager" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<!-- 设置默认拦截器 -->
<default-interceptor-ref name="commonInterceptor" />

<global-results>
<result name="error">/commons/exception.jsp</result>
</global-results>

<global-exception-mappings>
<exception-mapping result="error" exception="com.igames.fourd.exception.SystemException" />
<!-- <exception-mapping result="error" exception="java.lang.Exception" />-->
</global-exception-mappings>
</package>
<include file="struts/struts-system.xml" />
</struts>

如果将<global-exception-mappings>中改为<exception-mapping result="error" exception="java.lang.Exception" />则能够进入到全局映射的result。

SystemException的定义为
public class SystemException extends RuntimeException

请大家帮忙分析一下!谢谢。

继承Exception看看。

public class SystemException extends Exception
 
exceptionManager异常应该是异常的一种类型。

不用在commonInterceptor拦截器栈中引用,

因为defaultStack中异常处理的拦截器exception

如果业务中抛出exceptionManager异常,exception拦截器会处理转发到<global-exception-mappings>
中的result的。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。