struts.xml 异常配置

 

要使用Struts2声明式异常处理,只需要将异常映射到result就可以了,可以用两种方法配置,一种方法是全局配置,针对所有的Action有效,另一种是针对具体的Action做配置,只针对具体的Action有效。
 
参看如下struts.xml 配置文件片段:
 
<package name="default">
    ...
    <global-results>
      <result name="login" type="redirect">/Login.action</result>
      <result name="Exception">/Exception.jsp</result>
    </global-results>
    <global-exception-mappings>
      <exception-mapping
 exception="java.sql.SQLException" result="SQLException"/>
      <exception-mapping
 exception="java.lang.Exception" result="Exception"/>
    </global-exception-mappings>
    ...
    <action name="DataAccess" class="com.company.DataAccess">
      <exception-mapping
 exception="com.company.SecurityException" result="login"/>
      <result name="SQLException" type="chain">SQLExceptionAction</result>
      <result>/DataAccess.jsp</result>
    </action>
    ...
 </package>
 
上述配置有如下结果
 
1 一个java.sql.SQLException异常将链接到SQLExceptionAction (上述文件中没有说明)
 
2 一个com.company.SecurityException将重新定位到login.action
 
3 其他从java.lang.Exception继承而来的Exception将会被定为到/Exception.jsp页面
 
3.6节 Intercepter拦截器
 
拦截器的运行时机在Action类运行之前和之后。拦截器使用Filter模式,将你需要执行的代码放在Action类处理方法之前或者之后执行。拦截器在开发程序的时候功能非常强大,通过使用拦截器可以完成校验,属性设置,安全,日志,程序剖析等功能。
 
拦截器可以彼此链接构成一个拦截器的栈,每一个拦截器本质上是一个Java类,都有一个常常的类名,为了方便使用,可以在Struts2框架中注册这些拦截器,例如:
 
<interceptor name="security" class="com.jpleasure.security.SecurityInterceptor"/>
 <interceptor-stack name="secureStack">
   <interceptor-ref name="security"/>
   <interceptor-ref name="defaultStack"/>
 </interceptor-stack>
 </interceptors>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值