SpringMVC基于注解使用:异常处理

news2025/7/6 16:57:48

SpringMVC基于注解使用:异常处理

1、内置异常处理解析器
在这里插入图片描述
2、统一异常处理
@ControllerAdvice 是Spring3.2提供的新注解,它是对Controller的增强,可对
controller中被 @RequestMapping注解的方法加一些逻辑处理:

  1. 全局异常处理(较为常用)
  2. 全局数据绑定
  3. 全局数据预处理
    @ExceptionHandler
    加在Controller中 :只处理当前控制器的异常,优先级比全局高
    加在ControllerAdvice中 :处理全局异常
    在这里插入图片描述
    全局异常处理
    在这里插入图片描述
    在这里插入图片描述
    全局具体异常处理
    在这里插入图片描述
    局部异常处理
    在这里插入图片描述
    全局异常处理,全局具体异常处理,处理器异常处理(局部异常处理)三个的优先级:
    处理器异常处理优先级最高,全局具体异常处理次之,全局异常处理优先级最低
    在实际项目开发过程中,一般我们只需要定义一个全局异常处理即可。

统一异常处理: 同时处理普通请求和ajax请求
1.普通请求:返回视图,错误信息。
2.ajax: 返回json
{code
message}
判断返回是不是ajax有两种常用方法:
第一种
第二种
全局异常处理如果是ajax就返回json,不是则返回视图。

在这里插入图片描述
在这里插入图片描述

404页面的异常处理
在web-xml中加上
在这里插入图片描述
在springmvc的xml配置文件中加上
在这里插入图片描述
创建一个aa.html页面

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

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

相关文章

基于PSO的UAV三维路径规划(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

ArcGIS计算地形湿度指数

TWI是区域地形对径流流向和蓄积影响的物理指标,有助于识别降雨径流模式、潜在土壤含水量增加区域和积水区域。 计算方法:TWI是通过细尺度地形与上梯度对地表面积的贡献相互作用,根据以下关系得到的(Beven et al.,1979) [1] : TWI ln [CA/…

行深智能亮相乌镇互联网大会,荣获直通乌镇全球互联网大赛一等奖

11月9-11日,2022年世界互联网大会在浙江乌镇举行,本届大会以“共建网络世界、共创数字未来——携手构建网络空间命运共同体”为主题,吸引了来自世界各地的政府、国际组织、企业参加。 行深智能携系列无人车及解决方案在乌镇运河智能汽车文化…

react-hooks的节流与闭包,以及useCallback的用处

目录 useThrottle: 封装了一个节流的hook useCallback的作用(性能优化) 不用Hook封装节流方法的情况,看是怎么形成闭包的: useThrottle: 封装了一个节流的hook import { useEffect, useCallback, useRef } from react;function…

2023年软件测试的发展如何?

近些年,自动化测试在很多软件公司已经成为一种必备的测试方式。即使那些还没运用自动化测试手段的公司,也正开始着手筹划了。每年,我们从举办的各种测试论坛和峰会上可以发现,自动化测试和敏捷测试必定是会议的主角。再看看最具有…

IPV6地址详解

♥️作者:小刘在C站 ♥️每天分享课堂笔记,一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放。 目录 一.为什么要使用IPv6 二. ipv4 三. ipv6 地址, 四 ipv6与 ipv4 地址相比 1.v4…

MySQL数据库 -- 表的增删查改

今天来讲MySQL数据库的表增删查改操作。今天主要是通过栗子来演示语法使用的,话不多说,直奔主题~ 表的增删查改: CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 目录 Cre…

你适合做自动化测试吗?

上一篇对于自动化测试有了基础了解,这一篇我们来看看你适合做自动化测试吗? 你适合走自动化测试这条路吗? 不管是UI自动化还是接口自动化,肯定的一点是,必须有代码基础,不管是java还是python。所以如果你…

Docker 安装Oracle 11g免费版—无坑小白白版(值得拥有)

​ Docker 安装Oracle 11g免费版—无坑小白白版(值得拥有) 第一步:登录自己的服务器(root用户/或授权用户) 第二步:下载 1、下载镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_…

基于概率距离削减法、蒙特卡洛削减法的风光场景不确定性削减附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

MySQL数据库期末考试试题及参考答案(01)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、 填空题 ___在20世纪80年代被美国国家标准学会和国际标准化组织定义为关系型数据库语言的标准。数据模型所描述的内容包括3个部分,分别是数据结构、数据操作…

[论文阅读] Generative Adversarial Networks for Video-to-Video Domain Adaptation

[论文地址] [代码] [AAAI 20] Abstract 来自多中心的内窥镜视频通常有不同的成像条件,如颜色和光照,这使得在一个领域训练的模型通常不能很好地推广到另一个领域。领域适应是解决这一问题的潜在方案之一。然而,现有的工作很少关注基于视频的…

数据结构与算法简介

什么是数据结构 数据结构的研究对象 研究一组有特定关系的数据的存储与处理通过抽象的方法 数据结构的研究内容 数据之间的逻辑关系:存储实现(如何存储某种逻辑关系) 集合结构:数据元素放在一起,但是元素间没有关系…

Python-Flask 蓝图以及钩子函数(5)

Flask 蓝图一、初识蓝图的页面结构二、创建蓝图的步骤三、钩子函数官方解释:Blueprint 是一种组织一组相关视图及其他代码的方式。与把视图及其他 代码直接注册到应用的方式不同,蓝图方式是把它们注册到蓝图,然后在工厂函数中 把蓝图注册到应…

Git 用法指导

1. 安装 Git 1. linux 安装 Git # 试着输入git,看看系统有没有安装Git: $ git The program git is currently not installed. You can install it by typing: sudo apt-get install git# 安装命令 sudo apt-get install git 如果是其他Linux版本&#…

Vue | Vue.js 高级语法系列

🖥️ Vue.js专栏:Vue.js 高级语法系列 🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 ✨ 个人主页:CoderHing的个人主页 🍀 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️ 👉…

都说测试行业饱和了,为什么我们公司给初级测试开到了12K?

故事起因: 最近我有个刚毕业的学生问我说:我感觉现在测试行业已经饱和了,也不是说饱和了,是初级的测试根本就没有公司要,哪怕你不要工资也没公司要你,测试刚学出来,没有任何的项目经验和工作经验…

字符串c++练习(KMP等)

反转字符串 文章目录反转字符串反转字符串||替换空格翻转字符串里的单词左旋转字符串找出字符串中第一个匹配项的下标【模板】KMP字符串匹配题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示样例 1 解释数据规模与约定重复的字符串[BOI2009]Radio Transmission 无线…

【Linux】Linux中的环境变量及其意义

目录 一、环境变量的概念 1、让自己写的可执行程序无需路径即可执行的方法 1.1将可执行程序拷贝至/usr/bin/目录下 1.2将test的绝对路径添加至PATH中 二、环境变量相关的命令 三、getenv()(获取环境变量) 四、main函数命令行参数的解析及意义 1、…

如何基于TS在React中使用Redux Toolkit

什么是Redux Redux 是 JavaScript 应用程序的状态容器,提供可预测的状态管理.可以帮助你开发出行为稳定可预测的、运行于不同的环境(客户端、服务器、原生应用)、易于测试的应用程序。不仅于此,它还提供超爽的开发体验&#xff0…