springMVC 学习总结(三) 拦截器及统一异常处理

news2024/11/22 14:12:37

一.拦截器

1.拦截器与过滤器的区别

拦截器 Interceptor 和 过滤器 Filter类似,主要用于拦截用户请求并作出一定处理操作,

但两则也有不同之处,如过滤器只在Servlet前后起作用,是Servlet规范定义的,是Servlt容器才支持的,不能使用spring容器资源,但拦截器是基于java反射机制,可以深入到方法前后,既可以用于web程序,也可以用于非web程序,且拦截器实在spring容器内部,是spring框架支持的,归spring管理,配置在spring中,所以能够使用spring中任何资源,对象,事务,数据源等,但需要通过IOC注入到拦截器。所以拦截器功能相比过滤器更加强大,常用作权限验证,日志记录,判断用户登录等功能上。

2.拦截器的定义。

定义自定义拦截器可通过实现 HandlerInterceptor 接口实现,HandlerInterceptor接口中有三个方法需要重写

 preHandle方法,表示该方法在控制器的请求方法之前执行,返回值表示是否继续后续操作,

postHandle方法,该方法在控制前方法执行之后,视图解析之前执行,

afterCompletion方法,该方法在控制器方法完成后,视图解析渲染结束后执行

3.拦截器配置

让自定义的拦截器生效还需要在springMVC的配置类中配置拦截路径

 先通过IOC注入自定义拦截器,然后配置该拦截器的拦截路径。

4.自定义拦截器实现登陆验证,日志记录:请求url参数等信息,

5.afterCompletion方法记录方法执行时间等:

二.统一异常处理

统一异常处理,避免用户在使用程序期间出现错误,出现只有程序员才能看懂的报错信息,

提供给用户一个比较有好的报错界面或信息。

1.创建异常处理类,非常简单

创建异常处理控制类,然后加上@RestControllerAdvice注解配上@ExceptionHandler注解即可实现全局异常处理

 

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

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

相关文章

基于ssm的珠宝首饰交易平台开发论文

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于珠宝首饰交易平台当然也不能排除在外,随着网络技术的不断成熟,带动了珠宝首饰交易平台,它彻底改变了过…

从头到尾的数据之旅

目录 引言 链表介绍 单向链表的接口实现 结构 创建节点 头插 尾插 头删 尾删 打印 节点查找 节点前插入 节点删除 内存释放 总结 引言 在前面的学习中,我们深入了解了顺序表,通过其增删查改的操作,我们发现了顺序表在某些情况…

移液器吸头材质选择——PFA吸头在半导体化工行业的应用

PFA吸头是一种高性能移液器配件,这种材料具有优异的耐化学品、耐热和电绝缘性能,使得PFA吸头在应用中表现出色。那么它有哪些特点呢? 首先,PFA吸头具有卓越的耐化学腐蚀性能。无论是酸性溶液、碱性溶液还是有机溶剂,P…

【pytest】单元测试文件的写法

前言 可怜的宾馆,可怜得像被12月的冷雨淋湿的一条三只腿的黑狗。——《舞舞舞》 \;\\\;\\\; 目录 前言test_1或s_test格式非测试文件pytest.fixture()装饰器pytestselenium test_1或s_test格式 要么 test_前缀 在前,要么 _test后缀 在后! …

版本控制:让你的代码有迹可循

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

人工智能在智慧工地中的应用场景

随着料技的不断发展,人工智能在各个领域都有着广泛的应用。智慧工地作为人工智能在建筑行业的应用领域之一,通过引入人工智能技术,可以提高工地的管理效率、降低事故发生概率、提升工人的工作效率,从而实现智能化、自动化的工地管…

IPEmotion 2023 R3 现支持新款数据记录仪IPE833

新发布的IPEmotion 2023 R3增加了多种新功能,其中最重要的新功能包括支持最新的数据记录仪IPE833和用于XCP测量的报文转信号功能。此外,它还增加了一项用于提高记录仪安全性的新功能。 — 创新一览 — ■ 支持新款数据记录仪IPE833 • 四路CAN FD接口&…

24款CBR600RR复活,CBR1000R电控下放,有望引进?

最近本田在欧洲市场亮相了停产已经6年的24款本田CBR600RR,传说中的F5复活了!24款CBR采用了全新的外观设计,可以看到前面也加上了流行的定风翼,不过设计是娇小一点的,另外本田的CBR600RR也是唯一在售的采用尾排设计的仿…

18、Web攻防——ASP安全MDB下载植入IIS短文件名写权限解析

文章目录 一、MDB默认下载1.1 搭建IIS网站1.2 搭建网站会出现的一些问题1.2 攻击思路 二、ASP后门植入连接三、IIS短文件名探针——安全漏洞四、IIS6.0文件解析漏洞五、IIS6.0任意文件上传漏洞 一、MDB默认下载 web攻防常见开发语言:ASP、ASPX、PHP、JAVA、Python、…

基于ssm四六级报名与成绩查询系统论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对四六级报名信息管理混乱,出错率高,信息安全性…

一体化超声波气象站科普解说

随着科技的不断发展,气象监测设备也在逐步升级。一体化超声波气象站作为新型气象监测设备,以其优势和预报能力,成为了气象监测领域的新宠。 一、一体化超声波气象站的特点 WX-CSQX12 一体化超声波气象站是一种集成了多种气象监测设备的新型…

蓝桥杯--数的拆分

蓝桥杯省赛 数的拆分,应该是一道数论的题目 连接:数的拆分 对有所有的样例,应该用long long 来表示。 n的范围是1e18次方,暴力绝对是行不通的,不能用暴力来解决。 这是一道数学的题目,需要对题目进行分…

链表TOP难度——排序链表

https://leetcode.cn/problems/sort-list/?envTypestudy-plan-v2&envIdtop-interview-150 采用分治思想解决这题,每次合并长度为1\2\4…的链表,合并思想和合并有序链表一致,单独写成一个函数即可。 合并思路如下: while(分治…

赛900定妆照亮相3个色,配Stylema卡钳,风琴排气,后减震有黑科技?

钱江的赛900工信部早就给大家报道过,使用的是奥古斯塔的921发动机,之前有说叫赛1000,又说叫赛921,现在名字终于是定了,叫赛900RR,那么目前钱江赛系列的产品线就清晰了:赛1000、赛900、赛800、赛…

Java - JVM内存模型及GC(垃圾回收)机制

JVM内存模型 JVM堆内存划分(JDK1.8以前) JVM堆内存划分(JDK1.8之后) 主要变化在于: java8没有了永久代(虚拟内存),替换为了元空间(本地内存)。常量池&#…

GoEasy使用手册

GoEasy官网 登录 - GoEasy 即时通讯聊天案例 GoEasy - GoEasy (gitee.com) 注意事项 接口使用人数上限为15,超出之后会请求超时返回408状态码,可以新建一个应用用来更换common Key 创建应用 ​ 添加应用名称,其余默认,点击…

python使用vtk与mayavi三维可视化绘图

VTK(Visualization Toolkit)是3D计算机图形学、图像处理和可视化的强大工具。它可以通过Python绑定使用,适合于科学数据的复杂可视化。Mayavi 依赖于 VTK (Visualization Toolkit),一个用于 3D 计算机图形、图像处理和可视化的强大…

第三届iEnglish全国ETP大赛16强落位 诠释教育游戏价值

10日,与北方骤降的温度形成鲜明对比,以“玩转英语,用iEnglish”为主题的国内首个教育游戏活动第三届iEnglish全国ETP(English Through Pictures)大赛总决赛小组赛热火朝天的进行。随着“云帆沧海队”搭上末班车,本届活动16强全部产生,接下来的三个周末他们将向年度总冠军发起最…

nuitka Unknown property box-shadow,transition,transform

nuitka 打包后,控制台的错误解决方法 nuitka --standalone --show-memory --show-progress --nofollow-imports --follow-import-toneed --output-dirout --windows-icon-from-ico./static/test.ico mainUI2.py 由于Qt样式表不是CSS,QSS基于CSS2.1&…

百度地图通过DrawingManager.js改造绘制电子围栏,圆形、矩形、多边形、行政区域。( 方式2)

故事:在新项目中,还是需要绘制围栏,由于前面使用的vue-BMap 官方方式进行围栏绘制,虽说比较灵活,但代码量比较大,而且手工敲的代码量太大,因此进行第二中电子围栏的绘制探索。 注意&#xff1a…