SpringBoot2中如何配置系统全局异常映射处理
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章给大家分享的是有关SpringBoot2中如何配置系统全局异常映射处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、异常分类这里的异常分类从系统处理异常的角度看
千家信息网最后更新 2025年11月14日SpringBoot2中如何配置系统全局异常映射处理
这篇文章给大家分享的是有关SpringBoot2中如何配置系统全局异常映射处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、异常分类
这里的异常分类从系统处理异常的角度看,主要分类两类:业务异常和系统异常。
1、业务异常
业务异常主要是一些可预见性异常,处理业务异常,用来提示用户的操作,提高系统的可操作性。
常见的业务异常提示:
1)请输入xxx
2)xxx不能为空
3)xxx重复,请更换
2、系统异常
系统异常主要是一些不可预见性异常,处理系统异常,可以让展示出一个友好的用户界面,不易给用户造成反感。如果是一个金融类系统,在用户界面出现一个系统异常的崩溃界面,很有可能直接导致用户流失。
常见的系统异常提示:
1)页面丢失404
2)服务器异常500
二、解决应用启动后404界面

1、引入页面Jar包
org.springframework.boot spring-boot-starter-thymeleaf
2、自定义首页接口
import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class IndexController { @RequestMapping("/") public String index(ModelMap modelMap) { modelMap.addAttribute("name","知了一笑") ; return "index"; }}3、首页界面
4、运行效果
三、SpringBoot2.0中异常处理
1、项目结构图
2、自定义业务异常类
public class ServiceException extends Exception { public ServiceException (String msg){ super(msg); }}3、自定义异常描述对象
public class ReturnException { // 响应码 private Integer code; // 异常描述 private String msg; // 请求的Url private String url; // 省略 get set 方法}4、统一异常处理格式
1)两个基础注解
@ControllerAdvice 定义统一的异常处理类
@ExceptionHandler 定义异常类型对应的处理方式
2)代码实现
import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;@ControllerAdvice// 异常以Json格式返回 等同 ExceptionHandler + ResponseBody 注解// @RestControllerAdvicepublic class HandlerException { /** * 自定义业务异常映射,返回JSON格式提示 */ @ExceptionHandler(value = ServiceException.class) @ResponseBody public ReturnException handler01 (HttpServletRequest request,ServiceException e){ ReturnException returnException = new ReturnException() ; returnException.setCode(600); returnException.setMsg(e.getMessage()); returnException.setUrl(String.valueOf(request.getRequestURL())); return returnException ; } /** * 服务异常 */ @ExceptionHandler(value = Exception.class) public ModelAndView handler02 (HttpServletRequest request,Exception e){ ModelAndView modelAndView = new ModelAndView() ; modelAndView.addObject("ExeMsg", e.getMessage()); modelAndView.addObject("ReqUrl", request.getRequestURL()); modelAndView.setViewName("/exemsg"); return modelAndView ; }}5、简单的测试接口
@Controllerpublic class ExeController { /** * { * "code": 600, * "msg": "业务异常:ID 不能为空", * "url": "http://localhost:8003/exception01" * } */ @RequestMapping("/exception01") public String exception01 () throws ServiceException { throw new ServiceException("业务异常:ID 不能为空"); } @RequestMapping("/exception02") public String exception02 () throws Exception { throw new Exception("出现异常,全体卧倒"); }}感谢各位的阅读!关于"SpringBoot2中如何配置系统全局异常映射处理"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
系统
处理
业务
用户
界面
提示
格式
分类
全局
配置
内容
常见
接口
更多
注解
用户界面
篇文章
页面
首页
服务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
流媒体和视频服务器
vs自带数据库使用教程
云服务器转发 速度
北海龙腾半岛网络技术
溧水软件开发
vs 数据库连接字符串
服务器上装什么杀毒软件
互联网时代的科技记者
梵臻网络技术有限公司
莱西商城软件开发哪家靠谱
软件开发配置管理工具
云服务器企业租赁费用
平湖软件开发公司多吗
上海软件开发薪资水平
贵州励勤网络技术有限公司
温州大学网络安全试题
内网下载数据库驱动
游戏王md手机服务器无响应
服务器主板cpu内存启动慢
青岛速芽网络技术客服电话
重庆软件开发公司哪家强
计算机2020数据库答案
网络安全从硬件来说有哪些
浙江智能软件开发供应商
互联网时代的科技记者
软件开发网招聘
广西网络安全宣传板报
为什么要做网络安全等级保护
辽宁同方服务器企业
书店销售数据库系统er图