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

SpringMVC之异常处理器

文章目录

  • 前言
  • 一、基于配置的异常处理
  • 二、基于注解的异常处理
  • 总结


前言

SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver。
HandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver(默认的)和
SimpleMappingExceptionResolver(自定义的)。


一、基于配置的异常处理

<bean
class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<!--
properties的键表示处理器方法执行过程中出现的异常
properties的值表示若出现指定异常时,设置一个新的视图名称,跳转到指定页面
-->
<prop key="java.lang.ArithmeticException">error</prop>
</props>
</property>
<!--
exceptionAttribute属性设置一个属性名,将出现的异常信息在请求域中进行共享
-->
<property name="exceptionAttribute" value="ex"></property>
</bean>

二、基于注解的异常处理

这里配置了两个异常,出现其中一个异常后跳转到error页面。

//@ControllerAdvice将当前类标识为异常处理的组件
@ControllerAdvice
public class ExceptionController {//@ExceptionHandler用于设置所标识方法处理的异常@ExceptionHandler(value = {ArithmeticException.class,NullPointerException.class})//ex表示当前请求处理中出现的异常对象public String handleArithmeticException(Exception ex, Model model){model.addAttribute("ex", ex);return "error";}
}

总结

以上就是异常处理器的配置,比较简单。

相关文章:

SpringMVC之异常处理器

文章目录 前言一、基于配置的异常处理二、基于注解的异常处理总结 前言 SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口&#xff1a;HandlerExceptionResolver。 HandlerExceptionResolver接口的实现类有&#xff1a;DefaultHandlerExceptionResolver&#x…...

【数据结构与算法篇】手撕八大排序算法之快排的非递归实现及递归版本优化(三路划分)

​&#x1f47b;内容专栏&#xff1a; 《数据结构与算法篇》 &#x1f428;本文概括&#xff1a; 利用数据结构栈(Stack)来模拟递归&#xff0c;实现快排的非递归版本&#xff1b;递归版本测试OJ题时&#xff0c;有大量重复元素样例不能通过&#xff0c;导致性能下降&#xff0…...

docker network

docker network create <network>docker network connect <network> <container>docker network inspect <network>使用这个地址作为host即可 TODO&#xff1a;添加docker-compose...

回归预测 | MATLAB实现DBN-ELM深度置信网络结合极限学习机多输入单输出回归预测

回归预测 | MATLAB实现DBN-ELM深度置信网络结合极限学习机多输入单输出回归预测 目录 回归预测 | MATLAB实现DBN-ELM深度置信网络结合极限学习机多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现DBN-ELM深度置信网络结合极限学习…...

新亮点!安防视频监控/视频集中存储/云存储平台EasyCVR平台六分屏功能展示

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

深入解析SNMP协议及其在网络设备管理中的应用

SNMP&#xff08;Simple Network Management Protocol&#xff0c;简单网络管理协议&#xff09;作为一种用于网络设备管理的协议&#xff0c;在实现网络设备的监控、配置和故障排除方面发挥着重要的作用。本文将深入解析SNMP协议的工作原理、重要概念和功能&#xff0c;并探讨…...

【SA8295P 源码分析】86 - AIS Camera Device 设备初始化 之 AisProcChainManager 模块初始化源码分析

【SA8295P 源码分析】86 - AIS Camera Device 设备初始化 之 AisProcChainManager 模块初始化源码分析 一、AisProcChainManager::CreateInstance()二、AisPProcIsp::Create()三、AisPProcGpu::Create()系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》 本文链接…...

十五、pikachu之CSRF

文章目录 一、CSRF概述二、CSRF实战2.1 CSRF(get)2.2 CSRF之token 一、CSRF概述 Cross-site request forgery 简称为“CSRF”&#xff0c;在CSRF的攻击场景中攻击者会伪造一个请求&#xff08;这个请求一般是一个链接&#xff09;&#xff0c;然后欺骗目标用户进行点击&#xf…...

C语言网络编程:实现自己的高性能网络框架

一般生产环境中最耗时的其实是业务逻辑处理。所以&#xff0c;是不是可以将处理业务逻辑的代码给拆出来丢到线程池中去执行。 比如像下面这样&#xff1a; ​我们事先创建好一堆worker线程&#xff0c;主线程accepter拿到一个连接上来的套接字&#xff0c;就从线程池中取出一个…...

hive表向es集群同步数据20230830

背景&#xff1a;实际开发中遇到一个需求&#xff0c;就是需要将hive表中的数据同步到es集群中&#xff0c;之前没有做过&#xff0c;查看一些帖子&#xff0c;发现有一种方案挺不错的&#xff0c;记录一下。 我的电脑环境如下 软件名称版本Hadoop3.3.0hive3.1.3jdk1.8Elasti…...

五、Kafka消费者

目录 5.1 Kafka的消费方式5.2 Kafka 消费者工作流程1、总体流程2、消费者组原理3、消费者组初始化流程4、消费者组详细消费流程 5.3 消费者API1 独立消费者案例&#xff08;订阅主题&#xff09;2 独立消费者案例&#xff08;订阅分区&#xff09;3 消费者组案例 5.4 生产经验—…...

类 中下的一些碎片知识点

判断下面两个函数是否能同时存在 void Print(); void Pirnt() const 答&#xff1a;能同时存在&#xff0c;因为构成函数重载&#xff08;注意函数的返回值不同是不能构成函数重载的&#xff09;。 const 对象能调用 非const 成员函数吗 答&#xff1a;不能&#xff0c;因为权…...

JVM第二篇 类加载子系统

JVM主要包含两个模块&#xff0c;类加载子系统和执行引擎&#xff0c;本篇博客将类加载子系统做一下梳理总结。 目录 1. 类加载子系统功能 2. 类加载子系统执行过程 2.1 加载 2.2 链接 2.3 初始化 3. 类加载器分类 3.1 引导类加载器 3.2 自定义加载器 3.2.1 自定义加载器实…...

火爆全网!HubSpot CRM全面集成,引爆营销业绩!

HubSpot CRM是什么&#xff1f;它是一款强大的客户关系管理工具&#xff0c;专为企业优化销售、服务和市场营销流程而设计。它在B2B行业中扮演着极为重要的角色&#xff0c;让我来告诉你为什么吧&#xff01; HubSpot CRM不仅拥有用户友好的界面和强大的功能&#xff0c;还能够…...

远程调试环境

一、远程调试 1.安装vscode 2.打开vscode&#xff0c;下载插件Remote-SSH,用于远程连接 3.安装php debug 4.远程连接&#xff0c;连接到远端服务器 注&#xff1a;连接远程成功后&#xff0c;在远程依然要进行安装xdebug&#xff0c;刚才只是在vscode中进行的安装。 5.配置la…...

Java面试之用两个栈实现队列

文章目录 题目一、什么是队列和栈&#xff1f;1.1队列1.2栈 二、具体实现2.1 思路分析2.2代码实现 题目 用两个栈实现一个队列&#xff0c;实现在队列尾部插入节点和在队列头部删除节点的功能。 一、什么是队列和栈&#xff1f; 1.1队列 队列是一种特殊的线性表&#xff0c;…...

Python-实用的文件管理及操作

本章&#xff0c;来说说&#xff0c;个人写代码过程中&#xff0c;对于文件管理常用的几种操作。 三个维度 1、指定文件的路径拼接2、检查某文件是否存在3、配置文件的路径管理 1、指定文件的路径拼接 这个操作可以用来管理文件路径也就是上述中的第三点。但是&#xff0c;这里…...

Mysql 事物与存储引擎

MySQL事务 MySQL 事务主要用于处理操作量大&#xff0c;复杂度高的数据。比如说&#xff0c;在人员管理系统中&#xff0c; 要删除一个人员&#xff0c;即需要删除人员的基本资料&#xff0c;又需要删除和该人员相关的信息&#xff0c;如信箱&#xff0c; 文章等等。这样&#…...

java.lang.classnotfoundexception: com.android.tools.lint.client.api.vendor

Unity Android studio打包报错修复 解决方式 java.lang.classnotfoundexception: com.android.tools.lint.client.api.vendor 解决方式 在 launcherTemplate 目录下找到 Android/lintOptions 选项 加上 checkReleaseBuilds false lintOptions { abortOnError false checkRelea…...

pytest fixture夹具,@pytest.fixture

fixture 是pytest 用于测试前后进行预备&#xff0c;清理工作的代码处理机制 fixture相对于setup 和teardown&#xff1a; fixure &#xff0c;命名更加灵活&#xff0c;局限性比较小 conftest.py 配置里面可以实现数据共享&#xff0c;不需要import 就能自动找到一些配置 setu…...

R200系列超高频读写器:从指令集到实战的物联网资产管理开发指南

1. R200系列读写器&#xff1a;物联网资产管理的利器 第一次接触R200系列读写器时&#xff0c;我就被它的多标签识读能力惊艳到了。这款超高频&#xff08;UHF&#xff09;读写器不仅支持840MHz~960MHz频段&#xff0c;还能在30米范围内同时读取上百张RFID标签&#xff0c;这简…...

突破限制:跨平台VMware macOS虚拟机部署全指南——非苹果硬件的macOS体验方案

突破限制&#xff1a;跨平台VMware macOS虚拟机部署全指南——非苹果硬件的macOS体验方案 【免费下载链接】unlocker VMware macOS utilities 项目地址: https://gitcode.com/gh_mirrors/unl/unlocker Unlocker是一款针对VMware Workstation和Player的开源补丁工具&…...

从零部署一个AI对话机器人:实战对比Gradio的Streaming UI与FastAPI的轻量API方案

从零部署一个AI对话机器人&#xff1a;实战对比Gradio的Streaming UI与FastAPI的轻量API方案 在AI应用开发领域&#xff0c;构建一个可交互的对话机器人已成为开发者验证想法、展示成果的标配需求。不同于传统Web开发的复杂架构&#xff0c;现代工具链让开发者能够用极简代码实…...

从手机到充电宝:拆解NTC热敏电阻在消费电子里的那些‘保命’用法

从手机到充电宝&#xff1a;拆解NTC热敏电阻在消费电子里的那些‘保命’用法 当你手握发烫的手机时&#xff0c;是否想过是什么在默默守护着电池的安全&#xff1f;当快充头以惊人速度输送电能时&#xff0c;又是什么在防止电路因过热而损毁&#xff1f;答案往往藏在一块米粒大…...

Qwen3-TTS-VoiceDesign一文详解:speech_tokenizer作用机制与语音表征可视化

Qwen3-TTS-VoiceDesign一文详解&#xff1a;speech_tokenizer作用机制与语音表征可视化 1. 引言&#xff1a;从文字到声音的魔法转换 你有没有想过&#xff0c;为什么现在的AI语音合成听起来越来越像真人&#xff1f;为什么只需要用文字描述"温柔的成年女性声音"&a…...

MedGemma 1.5垂直场景:中医馆本地部署中药配伍禁忌推理助手

MedGemma 1.5垂直场景&#xff1a;中医馆本地部署中药配伍禁忌推理助手 1. 引言&#xff1a;当传统中医遇上现代AI 想象一下&#xff0c;一位经验丰富的老中医&#xff0c;在开方时&#xff0c;除了依靠毕生所学和师徒传承的记忆&#xff0c;还能随时向一位精通古今医典、永不…...

AtlasOS终极指南:专业解决Windows安装错误2502/2503的完整方案

AtlasOS终极指南&#xff1a;专业解决Windows安装错误2502/2503的完整方案 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trendi…...

gitru:一个由 Rust 打造的零依赖 Git 提交信息校验工具

gitru 基于 Git 的 commit-msg Hook 实现&#xff0c;用于在提交阶段自动校验提交信息格式。 在团队协作开发中&#xff0c;规范的 Git 提交信息是代码追溯、版本管理、自动生成变更日志的基础。 但现实往往是&#xff1a; 人工约束容易遗漏手动配置 Hook 繁琐提交信息格式随心…...

彻底禁用fmt库文件系统依赖:从编译到代码的全链路方案

彻底禁用fmt库文件系统依赖&#xff1a;从编译到代码的全链路方案 【免费下载链接】fmt A modern formatting library 项目地址: https://gitcode.com/GitHub_Trending/fm/fmt 在C项目中&#xff0c;fmt库是一个现代格式化库&#xff0c;它提供了高效的类型安全格式化功…...

如何通过开源看板工具Kanboard实现团队高效协作

如何通过开源看板工具Kanboard实现团队高效协作 【免费下载链接】kanboard Kanban project management software 项目地址: https://gitcode.com/gh_mirrors/ka/kanboard 在当今快节奏的工作环境中&#xff0c;团队协作效率是项目成功的关键因素。Kanboard作为一款免费开…...