SpringMVC之异常处理器

文章目录


前言

SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver。

HandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver(默认的)和

SimpleMappingExceptionResolver(自定义的)。


一、基于配置的异常处理

xml 复制代码
<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页面。

java 复制代码
//@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";
	}
}

总结

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

相关推荐
AI人工智能+电脑小能手1 分钟前
【大白话说Java面试题 第106题】【并发篇】第6题:synchronized 锁的锁对象可以是什么?
java·开发语言·面试
小当家.1055 分钟前
AIGrader:一个 AI 作业批改平台的 Java EE 课设实战
java·人工智能·java-ee
devilnumber9 分钟前
Lambda|行为参数化 完整精讲
java·lambda·行为参数化
garmin Chen9 分钟前
Prompt工程入门:让AI按你的要求工作(3)--Prompt工程与提示词安全评测概述
java·人工智能·python·安全·prompt
阿正的梦工坊11 分钟前
【Rust】05-结构体、枚举与模式匹配
java·数据库·rust
阿正的梦工坊12 分钟前
【Rust】10-Cargo、测试与实用开发工作流
java·rust·log4j
用户2986985301414 分钟前
Java 实战:Word 文档中超链接的添加与自定义技巧
java·后端
铁皮饭盒18 分钟前
用bunjs代码讲解XSS/CSRF/SQL注入/DDos等10种前后端安全防护
前端·后端
swordbob21 分钟前
Spring事务失效的场景
java·开发语言·spring
Devin~Y23 分钟前
大厂 Java 面试实战:从 Spring Boot 微服务到 AI RAG 音视频平台全链路解析
java·spring boot·redis·spring cloud·微服务·rag·spring ai