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";
	}
}

总结

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

相关推荐
李少兄10 小时前
领域驱动设计与 Clean Code 的实践
java·数据库·领域驱动
野犬寒鸦10 小时前
Claude Code:终端AI编程助手全指南(附带指令全讲解)
开发语言·后端·面试·ai编程
老马952710 小时前
opencode7-桌面应用实战2
java·人工智能·后端
笑而不语10 小时前
01|搭建 gemini-demo:Spring Boot 3 + LangChain4j + Gemini
后端
李白的天不白10 小时前
大规模请求数据并发问题
java·前端·数据库
SamDeepThinking10 小时前
DDD领域驱动设计三年落地实战-开篇词
后端·程序员·架构
智慧物业老杨11 小时前
智慧物业数智化转型实战:从工单响应到业主满意度的闭环构建
java·开发语言
Kiling_070411 小时前
Java集合框架:List集合详解与应用
java·开发语言·windows
DeepNoMind11 小时前
从入门到 Offer:系统设计面试的完整备考路线
后端
极客先躯11 小时前
高级java每日一道面试题-2025年12月08日-实战篇[Docker]-如何为 Docker 配置代理?如何为容器配置代理?
java·docker·代理配置的双层架构·docker 守护进程配置代理·为容器配置代理·构建时环境变量·运行时注入环境变量