• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
进阶的大白
博客园    首页    新随笔    联系   管理    订阅  订阅
拦截器与过滤器

拦截器与过滤器的区别

 

过滤器

  • 依赖于servlet,是servlet规范中的一部分,任何java web工程都可以使用
  • 在url-pattern中配置/*之后,可以对所有要访问的资源进行拦截
  • 一个过滤器实例只能在容器初始化时调用一次

 

拦截器

  • 拦截器是AOP思想的具体应用
  • 拦截器是Spring MVC框架自己的,只有使用了Spring MVC框架的工程才可以使用
  • 拦截器只会拦截访问的控制器方法,如果访问的是jsp/html/css/image/js是不会进行拦截的
  • 一个拦截器实例在一个controller生命周期之内可以多次调用
  • 拦截器是基于java的反射机制的,而过滤器是基于函数的回调。拦截器不依赖于servlet容器,而过滤器依赖于servlet容器。
  • 拦截器只对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
  • 拦截器可以访问action上下文、值、栈里面的对象,而过滤器不可以。
  • 拦截器可以获取IOC容器中的各个bean,而过滤器不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。
posted on 2020-07-31 11:57  进阶的大白  阅读(178)  评论(2)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3