拦截器概述和Struts2的运行流程

1.拦截器的概述
    * 拦截器就是AOP(Aspect-Oriented Programming)的一种实现。(AOP是指用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。)
    * 过滤器:过滤从客服端发送到服务器端请求的.

    * 拦截器:拦截对目标Action中的某些方法进行拦截.
        * 拦截器不能拦截JSP.
        * 拦截到Action中某些方法.

2.拦截器和过滤器的区别
    1)拦截器是基于JAVA反射机制的,而过滤器是基于函数回调的。
    2)过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器
    3)拦截器只能对Action请求起作用,而过滤器可以对几乎所有的请求起作用。
    4)在Action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次   

    * 拦截器 采用 责任链 模式
        > 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。
        > 责任链每一个节点,都可以继续调用下一个节点,也可以阻止流程继续执行

    * 在struts2 中可以定义很多个拦截器,将多个拦截器按照特定顺序 组成拦截器栈 (顺序调用 栈中的每一个拦截器 )

2.Struts2的核心是拦截器,看一下Struts2的运行流程。

你可能感兴趣的:(struts2)