散装java 散装java
首页
  • Java基础
  • JVM
  • Java多线程
  • 知识点
  • 案例
  • Redis
  • RabbitMQ
  • Kafka
  • Elasticsearch
  • MySQL
  • Linux
  • Docker
  • Zookeeper
  • Nginx
  • Git
  • JMeter
  • Gradle
  • 常见BUG
  • 常见解决方案
  • 资源
  • 问答
💖支持
Gitee (opens new window)
首页
  • Java基础
  • JVM
  • Java多线程
  • 知识点
  • 案例
  • Redis
  • RabbitMQ
  • Kafka
  • Elasticsearch
  • MySQL
  • Linux
  • Docker
  • Zookeeper
  • Nginx
  • Git
  • JMeter
  • Gradle
  • 常见BUG
  • 常见解决方案
  • 资源
  • 问答
💖支持
Gitee (opens new window)
  • Spring Framework

    • Spring Framework 源码拉取编译技巧
  • Spring知识点

    • Spring 导读
    • Spring 过滤器和拦截器的区别
      • 1. 什么是过滤器 (Filter) 和 拦截器 (Interceptor)?
      • 2. 区别是什么、应用场景是什么?
    • Spring Boot 自动装配原理是如何实现的
  • Spring集成

  • 案例

    • 大文件上传-分片-秒传-断点续传
    • 布隆过滤器使用
    • Spring Boot 集成 Zookeeper 实现分布式锁
    • Spring Boot 集成 Redis 实现分布式锁
    • Spring Boot 集成 MySQL 实现分布式锁
  • Spring
  • Spring知识点
散装java
2022-11-14
目录

Spring 过滤器和拦截器的区别

示例代码:直达Gitee仓库 (opens new window)

视频解析:传送门 (opens new window)

# 1. 什么是过滤器 (Filter) 和 拦截器 (Interceptor)?

都是Aop思想的一种体现,用来解决项目中 某一类 问题的两种接口(工具),都可以对请求做一些增强

# 2. 区别是什么、应用场景是什么?

过滤器 (Filter) 拦截器 (Interceptor)
出身不同 来自 servlet 来自 Spring
使用范围不同 过滤器Filter实现了javax.servlet.Filter接口,也就是说过滤器的使用要依赖于Tomcat等容器,所以它只能在web程序中使用。 拦截器Interceptor实现了org.springframework.web.servlet接口,它是由Spring容器进行管理,并不依赖Tomcat等容器,既可以应用在web程序中,也可以应用在非web程序中(Application、Swing)。
实现原理不同 基于过滤器链 ApplicationFilterChain实现 基于反射
使用场景不同 字符编码设置、响应数据压缩(通用功能) 是否登录判断、权限判断、日志等等(偏重业务功能)
触发时机不同 image.png
上次更新: 2023/01/16, 18:12:53
Spring 导读
Spring Boot 自动装配原理是如何实现的

← Spring 导读 Spring Boot 自动装配原理是如何实现的→

Theme by Vdoing | Copyright © 2022-2024 散装java | MIT License | 鲁ICP备2022022143号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式