SpringMVC:过滤器和拦截器的区别和实现原理

简介: SpringMVC:过滤器和拦截器的区别和实现原理

SpringMVC

前言:

SpringMVC最后两篇博客啦,今天给大家带来的是过滤器和拦截器的区别,


过滤器和拦截器的作用

过滤器:

** 概述: 就是在过滤的范围内,把你的request和response进行一些处理,比如过度非法的url,或者登陆的请求,如果不是login.do就不放行**

拦截器:

概述:拦截器是基于SpringAOP实现的,就是简单的动态代理实现,拦截器会在你执行的方法前后做处理,可以做一些简单的逻辑处理,或者异常处理


二者的执行原理

过滤器

举个例子:

假设你是一个店长,你告诉助手(过滤器),不是黄毛,白衬衫的不准入内,你的助手就会在门口根据你的需求,如果不是黄毛白衬衫都不法进入你的店里,


拦截器

举个例子:

你是一个面包店的老师傅,你教你的徒弟,制作面包前的固定步骤和制作后的固定步骤,只要在这个面包店(拦截器的范围)所有的面包在制作前后多会有相应处理,这种规则可以理解为拦截器


二者的区别

过滤器:

依赖servlet,可以匹配全局所有的请求,过滤器只在运行前加了一道门,只调用一次

拦截器:

依赖java反射机制,只用于SpringMVC中,只能处理action的请求,相比过滤器,拦截器可以在action的周期内可以多次调用,重点:- 拦截器可以获取Springioc容器中的bean,可以在处理中注入bean


老规矩上流程图

过滤器:

1.png

拦截器:

1.png


相关文章
|
7月前
SpringMVC之拦截器和异常处理器
【1月更文挑战第20天】SpringMVC之拦截器和异常处理器
80 0
|
缓存 前端开发 Java
SpringMVC之JSR303和拦截器
SpringMVC之JSR303和拦截器
85 0
|
监控 前端开发 Java
SpringMVC之JSR303使用及拦截器使用(带你探索SpringMVC的新领域)
SpringMVC之JSR303使用及拦截器使用(带你探索SpringMVC的新领域)
90 0
|
1月前
|
前端开发 Java UED
SpringMVC全局异常处理+拦截器使用+参数校验
通过使用 SpringMVC 的全局异常处理、拦截器和参数校验,可以有效提升 Web 应用程序的安全性、稳定性和用户体验。这些技术的合理应用,不仅可以保证代码的健壮性,还能提高代码的可维护性,为开发高质量的 Web 应用程序提供了坚实的基础。
49 6
|
4月前
|
Java
SpringMVC配置字符过滤器的两种方式
SpringMVC配置字符过滤器的两种方式
50 0
|
7月前
|
前端开发 Java Apache
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
108 0
JAVAEE框架技术之6-springMVC拦截器和文件上传功能
|
7月前
SpringMVC拦截器的介绍,拦截器的基本实现,拦截器链配置
SpringMVC拦截器的介绍,拦截器的基本实现,拦截器链配置
67 2
|
缓存 前端开发 Java
【SpringMVC】JSR 303与拦截器注解使用
【SpringMVC】JSR 303与拦截器注解使用
81 0
|
开发框架 监控 Java
SpringMVC之JSR303和拦截器
SpringMVC之JSR303和拦截器
68 0
|
7月前
|
前端开发 Java 应用服务中间件
SpringMvc拦截器和手写模拟SpringMvc工作流程源码详解
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。 M: Model,模型层,指工程中的JavaBean,作用是处理数据。 JavaBean分为两类: 1.实体类Bean:专门存储业务数据的,如Student User等 2.业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。