• Web(一)


    Web(一)

    1、拦截器(interceptor)与过滤器(filter)的相同与不同之处?

    相同之处:两者都是aop编程思想的体现,都能实现权限检查、日志记录等。
    不同之处:
      1、规范和应用范围不同:过滤器filter是servlet规范中规定的,是由servlet容器支持的,只能用于web程序中;拦截器是spring容器中,是spring框架支持的,既可以用于web程序中,也可以用于Application、Swing程序中;
      2、使用资源不同:拦截器interceptor是spring的一个组件,归spring管理,配置在spring文件中,因此可以使用spring的任何资源和对象。例如service对象、数据源、事务管理等,通过IOC容器注入到拦截器即可,而filter不能;
      3、使用深度不同:过滤器filter只能在servlet前后器作用,而拦截器interceptor可以深入到方法前后、抛异常前后等,因此拦截器使用具有更大弹性,在spring架构中,优先使用拦截器;

    总结:

      1、拦截器基于java反射机制,不依赖servlet容器,只对action请求起作用,可以访问action上下文,在action的生命周期中拦截器可以多次被调用,拦截器可以调用ioc容器中各个bean;
      2、过滤器基于函数回调,依赖servlet容器,过滤器所有请求都起作用,不能访问action上下文,过滤器只能在容器初始化被调用一次,不能调用ioc容器中的各个bean;

  • 相关阅读:
    2016 Multi-University Training Contest 3 部分题解
    STL漫谈
    ACM之路(18)—— 矩阵
    BestCoder Round #84
    HDU 2177 —— (威佐夫博弈)
    2016 Multi-University Training Contest 2 部分题解
    HDU 2176 取(m堆)石子游戏 —— (Nim博弈)
    心情--总结、反思与展望
    【Convert Sorted List to Binary Search Tree】cpp
    【Convert Sorted Array to Binary Search Tree】cpp
  • 原文地址:https://www.cnblogs.com/AlanWilliamWalker/p/15911682.html
Copyright © 2020-2023  润新知