当前位置: 首页 > news >正文

过滤器和拦截器的区别是什么?

首先,过滤器和拦截器都可以在请求的过程中插入一手,也可以进行拦腰截断。请求过程:当一个请求进来,先交给Web服务器提供的过滤器,来到Servlet,同时会有一个叫做DispatcherServlet的Servlet进行执行,在DispatcherServlet中就会调用我们的拦截器,再由DispatcherServlet分发给对应的Controller来处理请求,请求处理完之后,就会从调用的链路原路返回,再回到拦截器,再回到过滤器,最终响应给客户端。

区别1:过滤器先执行,它是Servlet规范的一部分更接近于底层,它会在Servlet请求之前和响应之后进行处理;拦截器后执行,它是SpringMVC的一部分更接近业务层,会在Controller请求之前和处理完毕之后进行处理。

其次,使用方式不同,过滤器需要依赖Servlet提供的filtter接口,多个过滤器会根据配置的顺序来决定他们的执行顺序;而拦截器需要依赖SpringMVC提供的HandlerIntercepter接口,多个拦截器的执行顺序由Bean的配置顺序来决定,可以通过order注解来改变执行顺序。

最后,用途不同,拦截器通常用来实现一些跟业务相关不是必须的一些工作,比如:身份认证与授权、接口的性能监控,跨域处理日志记录等;过滤器通常实现一些必要的基础设施工作,比如编码处理、视图响应、请求参数处理和URL重定向等。


http://www.mrgr.cn/news/48950.html

相关文章:

  • Jain SLEE 中 Addresses
  • 机器学习中的模型设计与训练流程详解
  • SQL优化 where谓词条件is null优化
  • 秋窗的一周年创作纪念日
  • 【fisco学习记录2】多群组搭建
  • ZYNQ使用XGPIO驱动外设模块(前半部分)
  • vue拖拉拽
  • 文件传输遗漏
  • mysql学习教程,从入门到精通,SQL 约束(Constraints)(41)
  • 【机器学习】逻辑回归|分类问题评估|混淆矩阵|ROC曲线|AUC指标 介绍及案例代码实现
  • leetcode209:长度最小的子数组
  • LeetCode刷题日记之回溯算法(一)
  • 有了WPF后Winform还有活路吗?
  • ESP32-C3实现串口控制ESP32开启热点,关闭热点,连接路由,断开连接路由
  • 大数据新视界 --大数据大厂之大数据环境下的零信任安全架构:构建可靠防护体系
  • 交叉熵损失函数(Cross-Entropy Loss Function)解释说明
  • 沃趣,常用的热部署原理竟然是这样的
  • SAP SD学习笔记09 - 受注传票中的不完全Log 和 Business Partner(取引先机能)
  • 红黑树:平衡二叉查找树的经典实现
  • 【关系模型】关系完整性约束