zoukankan      html  css  js  c++  java
  • Struts2的拦截器技术

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

    拦截器的本质是AOP编程。每一个拦截器都可以添加一部分功能,我想在这些功能上每一个都加上日志。这个时候我们通过拦截器实现,使用AOP编程对这些拦截器一刀切,在后面对他们
    统一的配置一个拦截器,一到这个拦截器就给它加一个日志功能,完成添加日志功能后再往下走。所以AOP是面向切面的编程,对这些拦截器一刀切然后增加功能。

    2. 拦截器和过滤器的区别
        1)拦截器是基于JAVA反射机制的,而过滤器是基于函数回调的
        2)过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器
        3)拦截器只能对Action请求起作用(Action中的方法),而过滤器可以对几乎所有的请求起作用(CSS JSP JS)
    
        * 拦截器 采用 责任链 模式
            > 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链
            > 责任链每一个节点,都可以继续调用下一个节点,也可以阻止流程继续执行
    
        * 在struts2 中可以定义很多个拦截器,将多个拦截器按照特定顺序 组成拦截器栈 (顺序调用 栈中的每一个拦截器 )
    
    3. Struts2的核心是拦截器,看一下Struts2的运行流程
     
  • 相关阅读:
    好用的QT连接
    c指针点滴-指针与类型
    c指针点滴5-指针变量计算
    c指针点滴4-指针的值
    c指针点滴三(指针运算)
    c语言指针点滴1
    c指针点滴2之比大小
    c指针点滴1
    linux安装redis
    支付宝支付接口流程
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10106869.html
Copyright © 2011-2022 走看看