Spring拦截器入门案例讲解

news2024/11/26 22:40:25

1.拦截器的概念

拦截器是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。

作用

  • 在指定的方法调用前后执行预先设定的代码
  • 阻止原始方法的执行

在这里插入图片描述

在这里插入图片描述

2.拦截器和过滤器的区别

  • 归属不同:Filter属于Servlet技术,Interceptor属于SpringMVC技术
  • 拦截内容不同:Filter对所有访问进行增强,Interceptor仅针对SpirngMVC的访问进行增强。

过滤器是在tomcat服务器阶段进行配置的,它能够对所有的访问进行增强,但是拦截器就不是这样,拦截器能访问什么取决于SpringMVC里面的配置
在这里插入图片描述
在这里插入图片描述

3.拦截器入门案例

  1. 制作拦截器功能类
  2. 配置拦截器的执行位置

拦截器是为springMVC服务的,创建的拦截器要受spring容器的管理,因此需要给下面的ProjectInterceptor类前面加上注解@Component进行扫描加载。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.拦截器入门案例小结

1.配置拦截器类。一般放在controller目录下,记得加@Component注解将其配置成bean并在spring配置文件中进行扫描加载
在这里插入图片描述
2.定义拦截器配置类,并记得加上@Configuration注解将此配置类扫描加载
在这里插入图片描述
3.编写拦截器配置类SpringMvcSupport配置类在该配置类里面先说加载哪个拦截器,后面addPathPatterns说明拦截哪个请求。加载拦截器的时候通过@Autowired注解以bean的形式进行注入。
在这里插入图片描述
4.最后拦截器配置类SpringMvcSupport配置类和spingMVC配置类SpringMvcConfig可以进行整合。将SpringMvcSupport配置类里面配置的拦截器整合到spingMVC配置类SpringMvcConfig里面 只需要实现WebMvcConfigurer接口并添加拦截器配置即可
在这里插入图片描述
在这里插入图片描述
最后再说一下拦截器的执行流程。
没有拦截器的话直接执行controller,如果有拦截器,会限制性preHandler里面的内容,如果return的值是true,则会再执行controller里面的内容接着在执行 postHandler、afterCompletion里面的内容。
如果preHandler中return的值为false则后面包括controller在内的内容将都不会被执行。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/724396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二课:Figma 界面认识

创建文件 进入 Figma 后,可以查看最近浏览的内容,官方也推荐了一些基础的项目,点击右上角 Design file(设计文件)即可创建项目; 注:网页版和本地版界面样式布局一致。 创建画布 点击左上画框…

SpringBoot教学资料2-Hello SpringBoot!

Hello SpringBoot! springboot的启动 1.创建springboot项目。注意选择spring-boot-starter-parent版本。版本兼容适配问题请看下列。 springboot1.5.9以下兼容jdk1.7 springboot2.x.x版本兼容jdk1.8 springboot3.0及以上版本兼容jdk17 springboot2.1之后的版本已…

企业微信自建应用获取登录用户敏感信息,一键授权 (python篇,详细多图)

目录 收起 企业微信自建应用配置 自建应用 构造网页授权链接 请求用户信息 补充 ACCESS_TOKEN 企业微信自建应用配置 自建应用 新建应用 企业微信管理后台——>应用管理,拉到最下方,创建应用 创建应用 配置应用 在应用管理页面点击刚才创…

jmeter 性能测试用 csv,这个坑有些扯蛋

⏩很多人在使用 jmeter 做接口测试、自动化测试和性能测试时,都喜欢用 CSV 数据文件设置功能,来读取准备好的测试数据。虽然这种方法并不是最优方案,在我们的性能测试课程中,讲解了更优的方案,但是,没有上过…

阿里云国际站:在阿里云上做开发,究竟是一种怎样的体验?

标题:在阿里云上做开发,究竟是一种怎样的体验?   "在阿里云上做开发,到底是一种什么样的体验?"这是一个我经常被问到的问题,今天我决定与大家深度探讨这个话题。我们知道,任何对用户体验的描述…

面向对象七大设计原则

更多Java知识学习 文章目录 前言一、单一职责原则定义:优点:怎么应用? 二、开闭原则定义优点怎么应用? 三、依赖倒置原则定义优点怎么应用? 四、接口隔离原则定义优点怎么应用? 五、里氏替换原则定义继承的…

对标推特,Threads横空出世,最新Threads账号注册和登录保姆级教程

Meta 正式在全球超过 100 个国家地区应用商店上线 Threads,一款和 Twitter 高度相似的社交软件,并将其定位为 Instagram 的文字对话应用。 Meta 试图以 Threads 吸引那些因马斯克决策而离开了 Twitter 的用户。 在Threads帖文中,扎克伯格向所…

从C语言到C++_24(二叉搜索树)概念+完整代码实现+笔试题

目录 1. 二叉搜索树(BinarySearchTree) 1.1 二叉搜索树的优势和劣势 二叉搜索树的时间复杂度:O(N) 1.2 二叉搜索树的改良 2. 二叉搜索树的实现 2.1 二叉搜索树的定义 2.2 二叉搜索树的插入 2.3 二叉搜索树的查找 2.4 二叉搜索树的删…

(汽车级)TMCS1101A3BQDRQ1、TMCS1101A3UQDRQ1隔离式霍尔效应电流传感器 6mA 8-SOIC

TMCS1101/TMCS1101-Q1精密隔离电流传感器是电隔离霍尔效应电流传感器&#xff0c;能够进行直流或交流电流测量&#xff0c;具有高精度、出色的线性度以及温度稳定性等特性。低漂移、温度补偿信号链在整个器件温度范围内具有<1.5%满量程误差。输入电流流经内部1.8mΩ导体&…

只需2行python代码,轻松将PDF转换成Word

1. pdf2docx功能 - 解析和创建页面布局- 页边距- 章节和分栏 (目前最多支持两栏布局)- 页眉和页脚 [TODO]- 解析和创建段落- OCR 文本 [TODO] - 水平&#xff08;从左到右&#xff09;或竖直&#xff08;自底向上&#xff09;方向文本- 字体样式例如字体、字号、粗/斜体、颜色…

什么是V2G充电技术?

据权威数据统计&#xff0c;截止2020年&#xff0c;我国纯电动汽车保有量已经达到400万辆。随着电动汽车保有量的快速增长&#xff0c;对电网会有一定的影响&#xff0c;电力容量需求增大&#xff0c;加剧用电峰谷差&#xff0c;对电网的冲击大&#xff0c;影响居民正常生活。这…

C#核心知识回顾——11.各数据集合的汇总区分、委托、事件

变量: 无符号 byte正8位 ushort正16位 uint正32位 ulong正64位 有符号 sbyte8位 short16位 int32位 long64位 浮点数 float double decimal 特殊 char bool string 复杂数据容器: 枚举enum 结构体struct 数组(一维、二维、交错) [] [,] [][] 类 数据集合&#xff1a;…

leetcode--杨辉三角(C、C++)

文章目录 1.C实现2.C实现 1.C实现 #include<stdio.h> #include<stdlib.h> #include<assert.h>int** generate(int n, int* rnum_row, int** rnum_row_ele) {//*rnum_row-->num_row&#xff1a;杨辉三角行数*rnum_row n;//*rnum_row_ele-->num_row_el…

深度学习笔记之Transformer(五) Position Embedding铺垫:Word2vec

深度学习笔记之Transformer——Position Embedding铺垫&#xff1a;Word2vec 引言回顾&#xff1a;关于词特征表示的 One-hot \text{One-hot} One-hot编码目标函数构建关于语料库与任务目标似然函数构建 Word2vec \text{Word2vec} Word2vec模型结构重点总结 引言 在Transforme…

Zabbix“专家坐诊”第198期问答汇总

问题一 Q&#xff1a;请问一下&#xff0c;自带的思科SNMP交换机模板&#xff0c;怎么不监控down的接口&#xff1f; A1&#xff1a;这种一般在自动发现规则里加个过滤器&#xff0c;过滤出IFSTATUS匹配(1|3)的就能实现只发现up的端口了。 A2&#xff1a; 在“Items”页面&a…

Unity | 从建模到蒙皮动画的整个过程

目录 一、顶点数组、索引数组及UV数组 二、Mesh、MeshFilter、MeshRenderer及SkinnedMeshRenderer 1. Mesh 2. MeshFilter 3. MeshRenderer 4. MeshRenderer与SkinnedMeshRenderer&#xff08;蒙皮网格&#xff09; 三、Unity中相关组件 1. mesh和material 2. sharedM…

【微信小程序创作之路】- 小程序项目组成(初创小程序)

【微信小程序创作之路】- 小程序项目组成&#xff08;初创小程序&#xff09; 提示&#xff1a;第二章 初创小程序&#xff0c;讲解小程序项目组成 文章目录 【微信小程序创作之路】- 小程序项目组成&#xff08;初创小程序&#xff09;前言一、下载安装小程序微信开发者工具二…

Python multiprocessing 多进程

在multiporcessing中&#xff0c;通过新建Process对象创建进程&#xff0c;然后用start()方法调用它。Process与threading.Thread类似。如下是一个简单的例子&#xff1a; from multiprocessing import Processdef f(name):print(hello ,name)if __name__ __main__:p Proces…

2D和3D双管齐下才是王道?KAUST联合Snap、VGG提出单张图像三维重建的Magic123框架

在最近的AIGC社区中&#xff0c;3D视觉生成领域越来越受到广泛的关注&#xff0c;以神经辐射场&#xff08;NeRFs&#xff09; 为基础的深度渲染网络向大家展示了非常惊艳的三维效果。可是&#xff0c;NeRFs需要大量的多视角图片作为监督&#xff0c;因而从单张2D图像进行3D重建…

昆仑万维的“天工”能否改变人工智能应用的格局?

在人工智能领域&#xff0c;昆仑万维公司近日引发了广泛关注&#xff0c;发布了名为“天工”的大语言模型。这一新的技术突破引发了人们对于人工智能应用格局是否会被改变的讨论。随着昆仑万维进军大型语言模型市场&#xff0c;人们开始思考&#xff0c;“天工”能否成为人工智…