SpringMVC异常处理机制

简介: SpringMVC异常处理机制

SpringMVC异常处理机制

1.1 异常处理的思路

请求
异常
请求 请求 请求
异常 异常
客户端 前端控制器 Controller Service Dao
HandlerExceptionResolver
异常处理器
系统中异常包括两类: 预期异常 和 运行时异常RuntimeException ,前者通过捕获异常从而获取异常信息,后
者主要通过规范代码开发、测试等手段减少运行时异常的发生。
系统的 Dao 、 Service 、 Controller 出现都通过throws Exception向上抛出,最后由SpringMVC前端控制器交
由异常处理器进行异常处理,如下图:

1.2 异常处理两种方式

 使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver
 实现Spring的异常处理接口HandlerExceptionResolver自定义自己的异常处理器

1.3 简单异常处理器SimpleMappingExceptionResolver

SpringMVC已经定义好了该类型转换器,在使用时可以根据项目情况进行相应异常与视图的映射配置
<!-- 配置简单映射异常处理器 -->
< bean
class=“org.springframework.web.servlet.handler.SimpleMappingExceptionResolver” >
< property name=“defaultErrorView” value=“error” /> 默认错误视图
< property name=“exceptionMappings” >
< map > 异常类型 错误视图
< entry key="com.itheima.exception.MyException" value="error" />
< entry key="java.lang.ClassCastException" value="error" />
</ map >
</ property >
</ bean >

1.4 自定义异常处理步骤

① 创建异常处理器类实现HandlerExceptionResolver
② 配置异常处理器
③ 编写异常页面
④ 测试异常跳转
① 创建异常处理器类实现HandlerExceptionResolver
public class MyExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
// 处理异常的代码实现
// 创建 ModelAndView 对象
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName( "exceptionPage" );
return modelAndView;
}
}

1.4 自定义异常处理步骤

② 配置异常处理器
< bean id="exceptionResolver"
class="com.itheima.exception.MyExceptionResolver" />

③ 编写异常页面

<%@ page contentType =" text/html;charset=UTF- 8 " language =" java " %>
< html >
< head >
< title >Title</ title >
</ head >
< body >
这是一个最终异常的显示页面
</ body >
</ html >

1.4 自定义异常处理步骤

④ 测试异常跳转
@RequestMapping( "/quick22" )
@ResponseBody
public void quickMethod22() throws IOException, ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd" );
simpleDateFormat.parse( "abcde" );
}

1.4 自定义异常处理步骤

异常处理方式

 配置简单异常处理器SimpleMappingExceptionResolver
 自定义异常处理器

1.5 知识要点

自定义异常处理步骤

① 创建异常处理器类实现HandlerExceptionResolver
② 配置异常处理器
③ 编写异常页面
④ 测试异常跳转
目录
相关文章
|
6月前
|
设计模式 前端开发 Java
【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究SpringMVC的核心原理和运作机制(总体框架原理篇)
【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究SpringMVC的核心原理和运作机制(总体框架原理篇)
68 0
|
存储 JSON 前端开发
SpringMVC之JSON返回&异常处理机制(带你学习新的SpringMVC武功秘籍)
SpringMVC之JSON返回&异常处理机制(带你学习新的SpringMVC武功秘籍)
200 0
|
1月前
|
XML 存储 前端开发
手动开发-实现SpringMVC底层机制--小试牛刀
手动开发-实现SpringMVC底层机制--小试牛刀
13 0
|
11月前
|
JSON 前端开发 数据格式
SpringMVC之JSON返回&异常处理机制
SpringMVC之JSON返回&异常处理机制
53 0
|
11月前
|
XML 存储 JSON
SpringMVC之JSON数据返回及异常处理机制
SpringMVC之JSON数据返回及异常处理机制
|
JSON 前端开发 Java
SpringMVC之JSON数据返回与异常处理机制---全方面讲解
SpringMVC之JSON数据返回与异常处理机制---全方面讲解
246 0
|
XML JSON 前端开发
SpringMvc第六战-【SpringMvcJSON返回&异常处理机制】(下)
SpringMvc第六战-【SpringMvcJSON返回&异常处理机制】
|
XML JSON 前端开发
SpringMvc第六战-【SpringMvcJSON返回&异常处理机制】(上)
SpringMvc第六战-【SpringMvcJSON返回&异常处理机制】
|
XML JSON 前端开发
SpringMVC之JSON返回&异常处理机制
SpringMVC之JSON返回&异常处理机制
77 0
|
6月前
|
设计模式 前端开发 JavaScript
Spring MVC(一)【什么是Spring MVC】
Spring MVC(一)【什么是Spring MVC】