
SpringMVC异常的处理机制
发布日期:2021-05-09 05:48:11
浏览次数:11
分类:博客文章
本文共 2068 字,大约阅读时间需要 6 分钟。
SpringMVC异常的处理机制
处理流程图
其本质还是把异常交给SpringMVC框架来处理
系统的dao、service、controller出现异常都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理。springmvc提供全局异常处理器(一个系统只有一个异常处理器)进行统一异常处理。1.异常处理的两种方式
1.使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver
2.实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器1.使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver
处理逻辑:使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver,处理器实现HandlerExceptionResolver 接口,全局异常处理器需要实现该接口
SimpleMappingExceptionResolver:就是通过简单的映射关系来决定由哪个视图,来处理当前的错误信息。SimpleMappingExceptionResolver:提供通过异常类型exceptionMappings,来进行异常与视图之间的映射关系,提供在发生异常时,通过statusCodes来映射异常返回的视图名称和对应的HttpServletResponse的返回码。而且可以通过defaultErrorView和defaultErrorCode来指定默认值,defaultErrorView表示当没有在exceptionMappings里面找到对应的异常类型时,就返回defaultErrorView定义的视图,defaultErrorCode表示在发生异常时,当没有在视图与返回码的映射关系statusCodes里面找到对应的映射时,默认返回的返回码。在使用SimpleMappingExceptionResolver时,当发生异常的时候,SimpleMappingExceptionResolver将会把当前的异常对象放到自身属性exceptionAttribute中,当没有指定exceptionAttribute时,exceptionAttribute就是用默认值exception2.实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器
2.1实现HandlerExceptionResolver
package com.pjh.Myexception;import com.sun.org.apache.bcel.internal.generic.MONITORENTER;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class MyexceptionResolver implements HandlerExceptionResolver { public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { ModelAndView modelAndView = new ModelAndView(); if (e instanceof MyEcxeption){ //对于自定义异常的操作 }else{ //对于非自定义异常的操作 } return modelAndView; }}
2.2在配置文件中配置
以上就是SpringMVC系列的第四章,主要侧重SpringMVC异常处理的相关解析,我后续会持续更新我的学习内容,本博客主要侧重于数据结构于算法和java开发,觉得我的文章有帮助的小伙伴可以关注我,有疑问可评论私信,相逢即是缘,大家高处见
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月03日 14时29分41秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
html5 Game开发系列文章之 零[开篇]
2021-05-09
ES6基础之——new Set
2021-05-09
玩玩小爬虫——试搭小架构
2021-05-09
Javascript之旅——第八站:说说instanceof踩了一个坑
2021-05-09
Javascript之旅——第九站:吐槽function
2021-05-09
Sql Server之旅——第十站 看看DML操作对索引的影响
2021-05-09
双十一来了,别让你的mongodb宕机了
2021-05-09
深入探索Android热修复技术原理读书笔记 —— 热修复技术介绍
2021-05-09
解析js中( ( ) { } ( ) )的含义
2021-05-09
js设计模式总结5
2021-05-09
Python大神编程常用4大工具,你用过几个?
2021-05-09
一文带你了解图神经网络
2021-05-09
9个常用ES6特性归纳(一般用这些就够了)
2021-05-09
3D渲染集群,你了解多少?
2021-05-09
华为云FusionInsight湖仓一体解决方案的前世今生
2021-05-09
BootStrapTable 错误
2021-05-09
罗马数字
2021-05-09
IO多路复用小故事
2021-05-09
码云 Pages 搭建
2021-05-09
《论可计算数及其在判定上的应用》简单理解
2021-05-09