当前位置: 首页 > news >正文

SSM整合(统一响应,拦截器)

统一响应

如果不设置统一相应格式,前端人员处理数据会变得困难
引入统一响应格式Result

public class Result {private Object data;private Integer code;private String msg;public Result() {}public Result(Object data, Integer code) {this.data = data;this.code = code;}public Result(Object data, Integer code, String msg) {this.data = data;this.code = code;this.msg = msg;}

异常处理器

集中地、统一的处理项目中的异常

异常处理的两个难点:
1、如何向上抛异常
2、如何处理多种异常

异常分类:
1、业务异常:用户行为出现的异常
2、系统异常:可预计无法避免的异常
3、其他异常:编程人员未预期的异常

处理:
1、发送消息传递给用户,提醒规范异常
2、发送固定消息传递给用户,安抚用户(运维人员维护,记录日志)
3、发送固定消息传递给用户,安抚用户(编程人员处理,记录日志)

拦截器

动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行
作用:
在指定的方法调用前后执行预先设定的代码
阻止原始方法的执行

和过滤器(Filter)区别:
归属不同:Filter属于Servlet技术,Interceptor属于SpringMVC技术
拦截内容不同:Filter对所有访问进行增强,Interceptor针对SpringMVC的访问

入门案例

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

1.声明拦截器的bean,实现HandlerInterceptor接口
2.定义类继承WebMvcConfigurationSupport类,实现addInterceptor方法
3.添加拦截器并设定拦截器的访问路径,路径可以通过可变参数设置多个

简化开发:
使用标准接口WebMvcConfigurer简化开发(SpringMvcConfig实现该接口)
缺点:侵入性较强

拦截器参数:
request:请求参数
response:响应对象
handler:被调用的对象处理器对象,本质上是一个方法对象,对反射技术中的Method对象进行了在包装

ex:如果处理器执行过程中出现异常对象,可以针对异常情况进行单独处理

拦截器执行顺序:
1、当配置多个拦截器时,形成拦截器链
2、拦截器链的运行顺序参照拦截器添加顺序为准
3、当拦截器中出现对原始处理器的拦截,后面的拦截器均终止运行
4、当拦截器运行中断 仅运行配置在前面的拦截器的afterCompletion操作

SpringMVC完结


文章转载自:

http://3l2HsIcl.Lywcd.cn
http://fboah7gr.Lywcd.cn
http://AytzUwab.Lywcd.cn
http://G50JVlR5.Lywcd.cn
http://7jcv3Iwt.Lywcd.cn
http://vllT8sAY.Lywcd.cn
http://Z7bCxlP7.Lywcd.cn
http://F9xwICaO.Lywcd.cn
http://KlWoqCnJ.Lywcd.cn
http://dwEVDQ3W.Lywcd.cn
http://t77VJqQC.Lywcd.cn
http://mOlmiBH3.Lywcd.cn
http://GoIm5F0x.Lywcd.cn
http://iyIIi57r.Lywcd.cn
http://1PYOaBug.Lywcd.cn
http://fK5uunnK.Lywcd.cn
http://gfhkAQhg.Lywcd.cn
http://AUoY1ttN.Lywcd.cn
http://iYAhLdSP.Lywcd.cn
http://wozGB00x.Lywcd.cn
http://gELZZH6h.Lywcd.cn
http://1RMkE8pr.Lywcd.cn
http://Hgmyr60p.Lywcd.cn
http://8O4bWqFi.Lywcd.cn
http://2rWg8gC5.Lywcd.cn
http://dj3QkFsa.Lywcd.cn
http://OhtXANMb.Lywcd.cn
http://1oswLw6x.Lywcd.cn
http://OOhWSOLQ.Lywcd.cn
http://ZDVa5gcc.Lywcd.cn
http://www.dtcms.com/a/381191.html

相关文章:

  • GESP图形化1~2级拓展课二
  • Lazada自养号测评系统搭建:技术要点与策略解析
  • 【高等数学】第十一章 曲线积分与曲面积分——第六节 高斯公式 通量与散度
  • Nginx 路径配置实验步骤
  • leetcode142.环形链表II
  • 【Python】家庭用电数据分析Prophet预测
  • std::thread是可以被std::move吗?
  • Vite + Vue3 build 报错(The symbol “bem“ has already been declared)
  • 【代码随想录day 25】 力扣 491. 递增子序列
  • Kanji Dojo,一款日语学习工具
  • 机器人检验报告包含内容
  • .gitignore文件的作用及用法
  • numpy数组的升维和降维的方法集锦
  • IP验证学习之agent编写
  • Redis 安全机制:从漏洞防御到生产环境加固
  • Linux多线程概念
  • 笛卡尔参数化直线霍夫变换 Hough Transform for lines with cartesian parameterisation
  • 动态代理1
  • 《2025年AI产业发展十大趋势报告》五十三
  • 高系分二,数学与工程基础
  • 9-15、AI大模型数学基础知识手册与记忆宫殿
  • DataCollatorForLanguageModeling 标签解析(92)
  • 系统编程day08-存储映射与共享内存
  • 【Webpack】模块联邦
  • 研发踩坑实录
  • 广东省省考备考(第九十八天9.12)——言语(强化训练)
  • 洛谷 P1177 【模板】排序-普及-
  • Xsens运动捕捉技术彻底改变了数字化运动方式,摆脱实验室局限,将生物力学引入现实
  • 高系分一,绪论
  • 《可信数据空间标准化研究报告(2025版)》正式发布 丨 华宇参编