SpringBoot异常错误页面实现方法介绍

 更新时间:2022年09月13日 09:47:47   作者:流楚丶格念  
在项目访问的时候我们经常会发生错误或者页面找不到,比如:资源找不到404,服务器500错误,默认情况下springboot的处理机制都是去跳转内部的错误地址:/error 和与之对应的一个错误页面

导言

默认情况下,SpringBoot 项目错误页面如下:

直接这样太丑了,我们实际上线项目时,如果给用户显示这个页面就不是很友好,用户直接不用了。

所以当系统出现异常时应该给用户更加友好的错误页面,下面我们来看具体是如何实现的。

实现步骤

加入thymeleaf依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

在templates/下新建error文件夹

在error中新建:状态.html的页面。例如当出现500时显示的页面为500.html,当出现404时显示的页面为404.html,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>404</title>
</head>
<body>
    <h1>
        404!没有这个请求,请检查!
    </h1>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>500</title>
</head>
<body>
    <h1>
        500!您的代码出现了内部错误,请检查!
    </h1>
</body>
</html>

然后创建controller

@Controller
public class ErrorController {
    @RequestMapping("/test")
    public String testError(){
        System.out.println(5/0);
        // return "500";
        return "500.html";
    }
}

我们知道,在运行上面代码的时候发生算术异常。错误码为500。

测试如下:

使用X进行模糊匹配

  • 当出现5开头状态码的错误时,显示页面可以命名为5xx.html
  • 如果500.html和5xx.html同时存在,则会精确匹配相应页面

我们把刚才的500.html改为5xx.html,也是可以的

因为发生了5开头的异常,会走5xx.html,测试如下:

统一错误页面显示

在templates下新建error.html。如果项目中不存在具体状态码的页面或没有使用x成功匹配的页面时,显示error.html作为错误显示页面。

比如我们在error下没有设置4xx相关的错误页面,当发生状态码为4xx的错误时,找不到相关的错误处理页面,这时会走一个统一的错误处理页面。一般会在templates下创建error.html,作为统一的错误处理页面。

在templates下创建error.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>error</title>
</head>
<body>
    <h1>
        error!!!
    </h1>
</body>
</html>

当发生404错误时,会自动走error.html

到此这篇关于SpringBoot异常错误页面实现方法介绍的文章就介绍到这了,更多相关SpringBoot错误页面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • elasticsearch索引index之Mapping实现关系结构示例

    elasticsearch索引index之Mapping实现关系结构示例

    这篇文章主要介绍了elasticsearch索引index之Mapping实现关系结构示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • 基于JPA查询部分字段的相关事项

    基于JPA查询部分字段的相关事项

    这篇文章主要介绍了JPA查询部分字段的相关事项说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java正则表达式校验日期格式实例代码

    java正则表达式校验日期格式实例代码

    如果使用得当,正则表达式是匹配各种模式的强大工具,下面这篇文章主要给大家介绍了关于java正则表达式校验日期格式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Java操作Mysql的方法

    Java操作Mysql的方法

    这篇文章主要介绍了Java操作Mysql的方法,实例分析了Java针对有返回结果和没有返回结果的sql操作的相关技巧,需要的朋友可以参考下
    2015-02-02
  • 解决@ConfigurationProperties注解的使用及乱码问题

    解决@ConfigurationProperties注解的使用及乱码问题

    这篇文章主要介绍了解决@ConfigurationProperties注解的使用及乱码问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java字节码指令集的使用详细

    Java字节码指令集的使用详细

    本篇文章对Java字节码指令集的使用进行了详细的介绍。需要的朋友参考下
    2013-05-05
  • 2024.1.2 安装JDK和Eclipse并配置java编译环境的过程

    2024.1.2 安装JDK和Eclipse并配置java编译环境的过程

    这篇文章主要介绍了2024.1.2 安装JDK和Eclipse并配置java编译环境,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • Java sdk安装及配置案例详解

    Java sdk安装及配置案例详解

    这篇文章主要介绍了Java sdk安装及配置案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 一文带你认识Java中的Object类和深浅拷贝

    一文带你认识Java中的Object类和深浅拷贝

    任何变成语言中,其实都有浅拷贝和深拷贝的概念,Java 中也不例外,下面这篇文章主要给大家介绍了关于Java中Object类和深浅拷贝的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • mybatis foreach遍历LIST读到数据为null的问题

    mybatis foreach遍历LIST读到数据为null的问题

    这篇文章主要介绍了mybatis foreach遍历LIST读到数据为null的问题,具有很好的参考价值,希望对大家有所帮助。
    2022-02-02

最新评论