Spring MVC项目中的异常处理怎么配置(springmvc,开发技术)

时间:2024-04-30 21:08:08 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

1. 基于配置的简单异常处理

在SpringMVC中拥有一套非常强大的异常处理机制,SpringMVC通过 HandlerExceptionResolver处理程序的异常,包括请求映射,数据绑定以及目标方法的执行时发生的异常。

Spring MVC项目中的异常处理怎么配置

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

HandlerExceptionResolver,该接口的实现类有:DefaultHandlerExceptionResolver和

SimpleMappingExceptionResolver,下面就来看看如何使用简单异常处理器来处理异常。

使用 Spring MVC 提供的简单异常处理器 SimpleMappingExceptionResolver

Spring MVC配置文件

<!--配置异常处理器--><beanclass="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"><propertyname="exceptionMappings"><props><!--ArithmeticException算术运算异常:是出现异常的运算条件时,抛出此异常--><propkey="java.lang.ArithmeticException">error</prop></props></property><propertyname="exceptionAttribute"value="e"/></bean>

注意:

properties的键表示处理器方法执行过程中出现的异常

properties的值表示若出现指定异常时,设置一个新的视图名称,跳转到指定页面

exceptionAttribute属性设置一个属性名,将出现的异常信息在请求域中进行共享

控制器方法

@RequestMapping("/testException")publicStringtestException(){System.out.println(1/0);return"success";}

在该控制器方法中抛出一个算术运算异常,运行

Spring MVC项目中的异常处理怎么配置

2. 基于注解的全局异常处理

@ControllerAdvice:将当前类标识为异常处理的组件,是Spring提供的新注解,它是对Controller的增强,可对 controller中被 @RequestMapping注解的方法加一些逻辑处理;

@ExceptionHandler:用于设置所标识的方法处理的异常,@ExceptionHandler加在ControllerAdvice中,处理全局异常

ExceptionController

@ControllerAdvicepublicclassExceptionController{@ExceptionHandler(value={ArithmeticException.class,NullPointerException.class})publicStringexception(Exceptione,Modelmodel){model.addAttribute("e",e);return"error";}}

@ExceptionHandler的value值可以是数组,所以可以添加许多可能出现的异常;在该方法中
当出现算数运算异常或空指针异常就会跳转到我们自己设置的异常页面,并且展示异常信息。

error.jsp

<%@pagecontentType="text/html;charset=UTF-8"language="java"isELIgnored="false"%><html><head><title>错误页面</title></head><body><h2>error</h2>${e}</body></html>

异常页面

Spring MVC项目中的异常处理怎么配置

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Spring MVC项目中的异常处理怎么配置的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Node的多进程服务如何实现下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18