拦截器和过滤器之间的区别

Spring内部就有一个拦截器,比如事物拦截器、日志的拦截器,实现的原理就是就是使用AOP的切面,进行配置切点,在配置拦截器中有配置前置通知、后置通知、异常通知和环绕通知。
只需要写一个拦截器的类,内部配置方法

Spring的拦截器其实和servlet内的过滤器filter的作用其实差不多,两者其实没有什么可比性,两者不属于同一个技术体系内部的,若真的有区别,就是一个执行时机的区别,只是在项目中,请求先经过servlet的过滤器,才会进入到Spring,进入Spring项目内部,才会执行拦截器的功能。

理解

  1. 过滤器(filter)

    filter是javaweb的servlet体系内,依赖servlet容器,一般用于对请求request和响应response的信息进行过滤,比如:过滤参数、字符编码、敏感字符等

  2. 拦截器(Interceptor)
    interceptor是SpringMVC体系内,依赖Spring容器,基于AOP动态代理实现的,一般常用于对业务层的业务方法进行处理,比如实现系统日志、事务机制、权限检查、性能监控等,通过拦截器就比较好实现。虽然过滤器也是可以实现日志记录、权限检查等效果,但是过滤器只能在servlet前后执行,而拦截器则可以深入到方法执行前后、异常抛出前后执行,所以在Spring体系内,推荐使用拦截器进行日志和事务的实现。

拦截器和过滤器之间的区别相关推荐

  1. 拦截器和过滤器之间有很多相同之处,但是两者之间存在根本的差别

    转自:https://www.cnblogs.com/shangc/p/5939708.html 拦截器和过滤器之间有很多相同之处,但是两者之间存在根本的差别.其主要区别为以下几点: 1)拦截器是基于 ...

  2. 拦截器和过滤器有什么区别?

    首先了解什么是过滤器什么是拦截器 ①过滤器(Filter) 过滤器通过直接实现Filter接口实现,也可以通过@WebFilter注解实现特定的URL拦截 在Filter接口中定义了三个方法: ini ...

  3. java 拦截器和过滤器的区别

    介绍 在 Java Web 应用程序中,拦截器和过滤器是两种不同的机制,用于在请求/响应处理过程中进行拦截和过滤.两者都可以用来在请求到达目标资源之前对其进行预处理.修改或拦截. 但是,拦截器和过滤器 ...

  4. 详解拦截器和过滤器的区别

    拦截器和过滤器的区别 过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调. ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器. ③拦截器只能对acti ...

  5. 区分Java拦截器和过滤器

    今天带大家分析java拦截器和过滤器的区别,文中有非常详细的解释说明,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下 一.过滤器(filter) 过滤器处于客户端与Web资源(Serv ...

  6. 关于SSM框架设置拦截器和过滤器

    我们知道拦截器和过滤器都是在项目中起到拦截过滤请求的功能,所以可能在设置的时候会傻傻分不清.这里我们先来比较它们的区别. 过滤器Filter是JavaEE标准,在Servlet的规范中定义的,是Ser ...

  7. SpringBoot 拦截器和过滤器

    拦截器和过滤器 时光飞逝,最近也是很忙,但是忙到最后发现在自己并没有太多的成长 工作 学习 生活 没想到成长是不经意间的,像是被 推着,让你身不由己 午休时间,写写博客,也是保留一些自己的时间和空间 ...

  8. struts2中拦截器和过滤器的比较

    拦截器和过滤器的区别: 1.拦截器是基于java的反射机制的,而过滤器是基于函数回调 2.过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 3.拦截器只能对action请求起作用,而 ...

  9. 【SpringMVC】拦截器和过滤器

    拦截器: 拦截器是springmvc中的一种,需要实现HandlerInterceptor接口. 拦截器和过滤器类似,功能方向侧重点不同. 过滤器是用来过滤器请求参数,设置编码字符集等工作. 拦截器是 ...

  10. springboot拦截器和过滤器的区别与使用

    拦截器与过滤器的区别 spring的拦截器与servlet的filter有相似之处,比如二者都是AOP编程思想的体现,都能实现权限检查.日志记录等,不同的是: 适用范围不同:filter是servle ...

最新文章

  1. 业务基础【概念说明】-userAgent
  2. weblogic线程阻塞性能调优(图解)转
  3. eclipse启动发生Failed to load JNI shared library
  4. 线性代数【1】线性代数是什么【2】行列式计算【3】行列式性质【特殊行列计算】【4】克莱姆法则
  5. 【Level 08】U06 Good Feeling L1 End-of-season game
  6. ppt课堂流程图_4个超实用的PPT制作技巧:开学提升备课质量,资深老师都在用
  7. 《30天自制操作系统》学习笔记--第8天
  8. 计算机硬件检测与数据恢复试题,计算机硬件检测维修与数据恢复赛项国赛赛题.doc...
  9. 易洁仓库管理 v3.1.125 网络版 官方
  10. 大数据发展现状和趋势
  11. 气球java游戏,游戏 | 最适合春季玩气球的这12种玩法你玩过吗?
  12. 千兆SFP光模块可以在万兆SFP+端口上使用吗?
  13. php 监控网页更新提醒,web网站股票自动监控提醒实时变化
  14. 关于Ultraiso无法写入硬盘映像的相关解决办法
  15. net logon服务无法启动
  16. [体渲染]渲染一个球体
  17. 可视化架构设计——C4介绍
  18. 2022N1叉车司机操作证考试题库及在线模拟考试
  19. 信用风险评估评分卡 之 极端值
  20. 全金属牙冠-市场现状及未来发展趋势

热门文章

  1. 基于matlab雷达算法,基于MATLAB的雷达信号处理
  2. axure rp8 添加动态面板_AxureRP教程
  3. 声网 X Yalla:面对面不如线上见,中东年轻人最偏爱的语聊房是怎样“炼”成的?
  4. 跨实例查询 mysql_SQL语句怎么搞定跨实例查询?
  5. 面向对象程序设计——基于JML的地铁系统
  6. 在PPAPI插件中使用Skia绘图
  7. LintCode 171. Anagrams
  8. IEEE极限编程练习:Sorting Partition
  9. Transcad学习记
  10. html5轮播图代码效果图,JavaScript实现轮播图效果代码实例