springboot自定义异常视图过程解析
作者:鼓捣猫腻 发布时间:2023-06-29 09:44:36
标签:spring,boot,自定义,异常
这篇文章主要介绍了springboot自定义异常视图过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、源码分析
先看源码再写自己的自定义异常视图
resolveErrorView()函数首先调用了一个返回ModelAndView的函数,该函数所需的参数是一个状态码的字符串,和一个map集合,该集合是错误信息
也就是下图这个函数
上图函数判断你是否提供了templates/error/下的动态错误页
如果提供了直接返回视图名和错误信息
如果你没有提供下图
再查是否有静态错误页
上图是静态错误页的判断逻辑
this.resourceProperties.getStaticLocations()
返回的是一个springboot预设几个静态页面文件夹
循环找每一个文件夹是否有错误页
如果循环完了都没有找到就返回null
二、自定义异常视图
如果我们想自定义自己的异常视图也是重写resolveErrorView() 函数
不过我们不需要再写这个麻烦的判断,直接返回一个ModelAndview带视图名和错误信息
来源:https://www.cnblogs.com/fernfei/p/12079227.html


猜你喜欢
- 本文实例讲述了C#实现去除Strings中空格的方法,分享给大家供大家参考。具体实现方法如下:一般来说,你或许知道你能使用String.Tr
- 优点1.一个调用者想创建一个对象,只要知道其名称就可以了。2.扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。3.屏蔽产品的具体实现
- Spring Security和Shiro的区别相同点1、认证功能2、授权功能3、加密功能4、会话管理5、缓存支持6、rememberMe功
- 本文实例为大家分享了banner轮播图无限轮播效果的具体代码,供大家参考,具体内容如下效果展示第一步(权限配置)<uses-permi
- android:id 为控件指定相应的ID android:text 指定控件的文本,置尽量使用strings.xml android:gr
- 先来看看下面List<T>泛型集合的排序例子:using System;using System.Collections.Gen
- 1.JVM Heap(堆)溢出:java.lang.OutOfMemoryError: Java heap spaceJVM在启动的时候会自
- 为了让我提供的通用 Mapper 的 boot-starter 同时兼容 Spring Boot 1.x 和 2.x,增加了这么一个工具类。
- 前言在 上一节 Spring解密 - 默认标签的解析 中,重点分析了 Spring 对默认标签是如何解析的,那么本章继续讲解标签解析,着重讲
- springboot-dubbo cannot be cast to使用spring boot 集成dubbo的时候遇到问题:2018-05
- 本文实例为大家分享了C++实现哈夫曼树的编码解码,供大家参考,具体内容如下代码:#pragma once#include<iostre
- 1、认识 Spring CacheSpring Cache是Spring提供的一整套缓存解决方案。它本身并不提供缓存实现,而是提供统一的接口
- 要判断输入金额为正确金额的方法有两个,一个是用正则表达式,另一个就是用textfield的代理方法有时候难免遇到这样的需求,不符合规则的金额
- 前言在日常的Android开发中,我们在做登录注册等带有提示性输入校验的时候。常常会写样子写代码:然后你会发现每一次写带有提交信息页面的时候
- 在开发中常常使用到刷新分页,这里实现一个 RecyclerView 的简单的刷新分页操作,测试效果见文末,实现过程参考如下:实现思路加载更多
- Java 1.0 IO系统介绍1 Java IO版本Java库的IO分为输入/输出两部分。早期的Java 1.0版本的输入系统是InputS
- 本文实例讲述了Android开发实现ImageView加载摄像头拍摄的大图功能。分享给大家供大家参考,具体如下:这个方法是从官方demo中摘
- 移动端微信消息页实现在上一篇中主界面实现说过微信四个页面中间都是是fragment的,并且四个fragment的布局都还没实现,所以这一篇主
- CancellationTokenCancellationToken有一个构造函数,可以传入一个bool类型表示当前的Cancellatio
- 简介Quartz是一款功能强大的任务调度器,可以实现较为复杂的调度功能,如每月一号执行、每天凌晨执行、每周五执行等等,还支持分布式调度。本文