• 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;

  • 相关阅读:
    我的第一个shell 脚本
    ubuntu下配置java环境变量在root用户不生效
    ES6ES11易忘笔记
    UE4:Gameplay
    游戏服务器架构
    手柄陀螺仪、加速度计算
    UE4启动脚本(命令行参数)
    UE4:时间相关
    shell基础
    go Cobra命令行工具入门
  • 原文地址:https://www.cnblogs.com/AlanWilliamWalker/p/15911682.html
Copyright © 2020-2023  润新知