Struts2的拦截器

以前只是了解些Struts但是对其拦截器的使用云里雾里,今天着重学习了一下,然后写下来

Struts拦截器的配置写在struts.xml中,要先定义再使用。

如果手写的一个inteceptor的话,可以直接这样:

<interceptor name="myinteceptor" class="interceptors.MyIntercepoter"><!--class就是你实现拦截的东西了,这个类里写拦截后做什么操作要继承MethodFilterInterceptor类或其他intercepotor类  -->
            <param name="includeMethods">book</param><!--这句的意思是对book的方法进行拦截,如果排除某些方法的拦截的话 name的值应为 includeMethods,然后方法名用逗号隔开  -->
        </interceptor>
如果手写好多inteceptor就得用interceptor-stack,但是也得先定义自己写的interceptor然后再把他加入到interceptor-stack中,最后别忘了用<interceptors>将他们包起来
<interceptors>
        <interceptor name="myinteceptor" class="interceptors.MyIntercepoter">
            <param name="includeMethods">book</param><!--  -->
        </interceptor>
        <interceptor-stack name="myinteceptorList">
            <interceptor-ref name="myinteceptor"></interceptor-ref>
            <interceptor-ref name="defaultStack"></interceptor-ref><!--这是系统默认的拦截器  -->
        </interceptor-stack>
        </interceptors> 


在Action中使用自己写的拦截器:

<action name="BookAction" class="action.BookAction" method="book">
            <result name="success">/result.jsp</result>
            <result name="error">/error.jsp</result>
            <interceptor-ref name="myinteceptorList"></interceptor-ref>
        </action>

另外因为<package>的排序是有要求的:

   造成如题错误的原因是package的内容必须按以下顺序写:

        result-types

        interceptors

        default-interceptor-ref

        default-action-ref

        default-class-ref

        global-results

        global-exception-mappings

        action*


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值