zoukankan      html  css  js  c++  java
  • Struts2拦截器总结

    拦截器的本质:

      拦截器就是一个类,一个实现了超级接口Interceptor的类。Interceptor接口里定义了三个方法 init(),destory(),intercept()。其中inercept()是核心方法,该方法的参数是invocation,它的类型是ActionInvocatio接口,该接口定义了拦截的核心方法invoke(); 

      拦截器体现的面向切面编程思想(AOP),在目标代码执行之前或执行之后插入必要的辅助业务,来降低系统的耦合度。Struts2拦截器的目标代码就是Action。

    使用拦截器的步骤:

      1.先创建一个实现Interceptor接口的类。该类是拦截器执行的核心代码,在目标对象的前后执行。

        要注意的是Interceptor是超级接口,它实现了三个方法。另外你也可以继承AbstractInterceptor抽象类,只需实现interceptor()方法就行了。另外还可以继承MethodFilterInterceptor抽象类,只需实现doIntercept()方法。

      2.(要点)在Struts.xml的package中配置拦截器:首先声明拦截器,然后把自定义的拦截器放入拦截器栈中。要想对哪个Action进行拦截,在action标签里引用配置的拦截器就行了。

        在配置拦截器时很容易出错,收集以下资料参考:

          http://www.blogjava.net/zzzlyr/archive/2009/10/12/297998.html

    拦截器的执行顺序:

      之所以叫拦截器栈就说明了它的执行顺序,假如一个拦截器栈里有a,b,c三个拦截器,则它们的执行顺序是a,b,c,action,c,b,a。   

      

        

  • 相关阅读:
    [BZOJ 4710] 分特产
    洛谷 P4827 [国家集训队] Crash 的文明世界
    Test 7.12 T2
    [洛谷 P1377] TJOI2011 树的序
    [洛谷 P1013] NOIP1998 提高组 进制位
    ajax2
    Ajax
    javascript下兼容都有哪些
    获取类名 封装 getStyle
    作用域
  • 原文地址:https://www.cnblogs.com/wangerxiansheng/p/4146183.html
Copyright © 2011-2022 走看看