interceptor 配置

拦截器允许在action的执行前后插入代码执行 、可以action动态添入 验证 对象组装 权限控制 日志记录 而不需要修改action
要在action配置拦截器首先需要在interceptors 元素使用interceptor 元素定义拦截器没然后在action使用intercepter-ref指定
引用的拦截器。interceptor有两个必要的元素 name和class 前者是拦截器的名字后者是拦截器完整的类名。
 例:我们要为ResourceActrion配置来呢哥哥拦截器logger 和security
 
<package name="default" extends="struts-default">
 <interceptors>
   <interceptor name ="logger" class="....."/>
   <interceptor name="security" class="...."/>
 </interceptors>
<action name="resoure" class="....">
   <result name="input">login.jsp</result>
  <interceptor-ref name="logger"/>
  <interceptor-ref name="security"/>
</action>
</package>
 
如果一个action需要多个interceptor 我们可以将多个拦截器组成拦截栈,在action应用
 
<package name="default" extends="struts-default">
 <interceptors>
   <interceptor name ="logger" class="....."/>
   <interceptor name="security" class="...."/>
 </interceptors>
 <interceptor-stack name="loggerStack">
  <interceptor-ref name="logger"></interceptor-ref>
  <interceptor-ref name="security"></interceptor-ref>
 </interceptor-stack>

<action name="aa">
   <result name="input">login.jsp</result>
   <interceptor-ref name="loggerStack"></interceptor-ref>
   </action>
   </package>
 
如果很多的action 需要引用相同的拦截器,那么我们可以使用default-interceptor-ref元素来定义一个默认的
拦截器或者拦截器栈的引用这样就不需要为每个action指定引用信息
<package name="default" extends="struts-default">
 <interceptors>
   <interceptor name ="logger" class="....."/>
   <interceptor name="security" class="...."/>
 </interceptors>
 <interceptor-stack name="loggerStack">
  <interceptor-ref name="logger"></interceptor-ref>
  <interceptor-ref name="security"></interceptor-ref>
 </interceptor-stack>

 <default-interceptor-ref name="loggoerDefault"/>
<action name="aa">
   <result name="input">login.jsp</result>
   </action>
   </package>
 但在这个action定义其他的拦截器的引用,那么这个action将不使用默认的拦截器,如果想在默认的拦截器上
上添加拦截器,中能在action新配置默认拦截器应用的拦截器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值