SpringMVC:过滤器和拦截器的区别和实现原理
SpringMVC
前言:
SpringMVC最后两篇博客啦,今天给大家带来的是过滤器和拦截器的区别,
过滤器和拦截器的作用
过滤器:
** 概述: 就是在过滤的范围内,把你的request和response进行一些处理,比如过度非法的url,或者登陆的请求,如果不是login.do就不放行**
拦截器:
概述:拦截器是基于SpringAOP实现的,就是简单的动态代理实现,拦截器会在你执行的方法前后做处理,可以做一些简单的逻辑处理,或者异常处理
二者的执行原理
过滤器
举个例子:
- 假设你是一个店长,你告诉助手(过滤器),不是黄毛,白衬衫的不准入内,你的助手就会在门口根据你的需求,如果不是黄毛白衬衫都不法进入你的店里,
拦截器
举个例子:
- 你是一个面包店的老师傅,你教你的徒弟,制作面包前的固定步骤和制作后的固定步骤,只要在这个面包店(拦截器的范围)所有的面包在制作前后多会有相应处理,这种规则可以理解为拦截器
二者的区别
过滤器:
- 依赖servlet,可以匹配全局所有的请求,过滤器只在运行前加了一道门,只调用一次
拦截器:
- 依赖java反射机制,只用于SpringMVC中,只能处理action的请求,相比过滤器,拦截器可以在action的周期内可以多次调用,重点:- 拦截器可以获取Springioc容器中的bean,可以在处理中注入bean
老规矩上流程图!
过滤器:
拦截器
SpringMVC:过滤器和拦截器的区别和实现原理相关推荐
- JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别
JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别 如果从整个项目中看,一个servlet请求的执行过程就变成了这样context-param–>lis ...
- struts2 过滤器和拦截器的区别和使用
struts2 过滤器和拦截器的区别和使用 java web 过滤器和拦截器的区别和使用 1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming) ...
- AOP--Filter使用,过滤器和拦截器的区别
AOP(Aspect-Oriented Programming,面向切面编程)是一种编程思想,并不是一种具体的实现,谈到实现一般有Filter和代理模式两种常见的使用方式,Spring中的AOP也是封 ...
- Springboot过滤器和拦截器的区别
上两篇文章我们介绍了过滤器Filter和拦截器Intercepter,其功能都是对请求进行拦截并对请求过滤,本篇文章就介绍一下两者的区别 1. 过滤器和拦截器的区别 过滤器和拦截器触发时机不一样,过滤 ...
- Spring过滤器和拦截器的区别
Spring过滤器和拦截器的区别 两者的作用 过滤器: 是在javaweb中,你传入的request.response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts ...
- Java 过滤器与拦截器的区别
什么是过滤器(Filter) 过滤器,是在java web中将你传入的request.response提前过滤掉一些信息,或者提前设置一些参数.然后再传入Servlet或Struts2的 action ...
- 过滤器跟拦截器的区别
一.拦截器与过滤器的区别总结 1. 原理不同:拦截器是基于java的反射机制的,而过滤器是基于函数回调. 2. 依赖容器:拦截器不依赖与servlet容器,过滤器依赖与servlet容器. 3. 作用 ...
- 过滤器和拦截器的区别和执行顺序
一.两者的区别 1.拦截器 java里的拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同 ...
- springMVC 过滤器与拦截器的执行顺序问题。springboot一样参考
最近项目要搞国际化,发现做国际化的时候是需要添加拦截器的,但是我们项目是通过filter过滤器做登录拦截,此时的报错信息总是国际化失败.折腾半天发现原因是国际化的拦截器没有用到导致.所以在此研究了下过 ...
- SpringMVC中过滤器和拦截器的区别
文章目录 1.引言 2.共同点 3.区别 3.1.拦截器 3.2.过滤器 4.具体实现 4.1.拦截器 4.1.1.拦截实现方式 4.1.2.拦截实现 4.2.过滤器 4.2.1.过滤器实现方式 4. ...
最新文章
- 13.MapReduce第3部分(编程实践WordCount)
- 万字长文助你上手软件领域驱动设计 DDD
- Github如何提交修改的代码以及更新到最新版本
- str_replace()函数
- python isinstance()方法的使用
- VS2015 VisualSVN的 破解方法
- 海康监控设备如何修改IP地址
- win教程:如何查看本机的IP地址
- linux命令中参数的作用,Linux 命令中的单引号,不加任何参数以及双引号的作用...
- 老李分享:六度分隔理论
- 中南民族大学计算机组成原理实验,中南民族大学计算机组成原理试题及答案剖析...
- STM32H7 ADC hal库
- 救灾帐篷惊现高档小区
- Python书籍教学游戏《外星人入侵》:‘pygame.Rect‘ object has no attribute ‘blit‘
- 徐无忌MySQL笔记:案例实战:如何实现MySQL数据库的读写分离?
- 基于JAVA超市自助结账系统的设计与实现计算机毕业设计源码+系统+数据库+lw文档+部署
- 高价求购复杂网络演化博弈代码
- 最新详细的 VM ware 下载 与 安装
- ftp文件服务器客户端,ftp文件服务器客户端访问及常用命令
- 小学生学计算机flash,计算机Flash动画教学思考