SpringBoot 全局异常错误页面的示例分析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章给大家介绍SpringBoot 全局异常错误页面的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。SpringBoot 全局异常错误页面1. 创建项目,依赖Web
千家信息网最后更新 2025年12月03日SpringBoot 全局异常错误页面的示例分析
这篇文章给大家介绍SpringBoot 全局异常错误页面的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
SpringBoot 全局异常错误页面
1. 创建项目,依赖Web 和 thymeleaf
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-thymeleaf
2. 准备两个异常错误页面
在template中创建error文件夹,在error文件夹中创建4xx.html 和 5xx.html
3.准备自定义错误处理类
com.zhl.springbootexceptionjunit.controller.MyBasicErrorController
SpringBoot 出现异常时会查找 /error 视图, 如果没有则会根据错误码查找对应 error/400.html 之类的错误静态页面
此处重写ErrorController,实现/error 视图,根据错误类型,跳转至对应的视图,由于使用视图技术,需引用模板引擎(本例用thymeleaf)
package com.zhl.springbootexceptionjunit.controller;import org.springframework.boot.web.servlet.error.ErrorController;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.context.request.ServletWebRequest;import org.springframework.web.context.request.WebRequest;import javax.servlet.http.HttpServletRequest;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * 定制ErrorController,目的是能使SpringBoot找到自己定制的错误页面 * 大部分的代码BasicController一致,关键点是修改错误页面的路径 */@Controller@RequestMapping(value = "/error")public class MyBasicErrorController implements ErrorController {@RequestMapping(produces = {"text/html"})//返回给浏览器 public String handlerError(HttpServletRequest request, Model model){ WebRequest webRequest = new ServletWebRequest(request);//对request进行包装,目的是能操作更多的方法 HttpStatus status = this.getStatus(request);//获取status String path = (String) webRequest.getAttribute("javax.servlet.error.request_uri", 0); String message = (String) webRequest.getAttribute("javax.servlet.error.message", 0);if(message.equals("")){ message = "No Available Message"; }//携带错误数据信息 model.addAttribute("timestamp", new Date()); model.addAttribute("statusCode", status.value()); model.addAttribute("error", status.getReasonPhrase()); model.addAttribute("message", message); model.addAttribute("path", path);int i = status.value() / 100;//判断是4xx还是5xx错误 if(i == 4){return "error/4xx";//使用自己定制的错误页面 }else if(i == 5){return "error/5xx";//使用自己定制的错误页面 }return null; }@RequestMapping//返回给客户端 public ResponseEntity4.测试 代码
com.zhl.springbootexceptionjunit.controller.UsersController
@Controllerpublic class UsersController {@RequestMapping("showinfo")public String showinfo(){ String str=null; str.length();return "ok"; }}测试1,运行时错误:
测试2:无资源的情况

关于SpringBoot 全局异常错误页面的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
错误
页面
更多
视图
全局
目的
测试
示例
分析
代码
内容
文件
文件夹
方法
中创
准备
包装
帮助
不错
一致
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库导出学生数据
漫普法网络安全讲解
我的世界服务器2期
VSTO 连接数据库源码
河南新林网络安全检查
什么是最早的软件开发模型
驾驶人员网络安全教育系统升级
微信音响服务器断开怎么解决
网络技术公司招聘的英语作文
麒麟系统如何装达梦数据库
云数据库 存算分离
服务器如何系统备份
传奇3单机数据库神舰任务
清远数字软件开发供应商家
延边软件开发系统制作公司
网络技术方面知识
6月1号新互联网络安全法
河北服务器搬运怎么选服务器
网络安全宣传周海报设计大赛
广州创游网络技术有限公司
互联网科技公司取名
游戏服务器网卡
票房 艺恩数据库
计算机软件开发系学什么
网络安全调查报告怎么做
网络安全法中关于言论的内容
cath数据库百度百科
Capital IQ数据库价格
网络技术挑战赛决赛官网
铜陵在线教育平台软件开发费用