SpringBoot异常处理之异常显示的页面问题

导言

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

SpringBoot异常处理之异常显示的页面问题_第1张图片

SpringBoot异常处理之异常显示的页面问题_第2张图片

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

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

实现步骤

加入thymeleaf依赖


    org.springframework.boot
    spring-boot-starter-thymeleaf

在templates/下新建error文件夹

SpringBoot异常处理之异常显示的页面问题_第3张图片

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




    
    404


    

404!没有这个请求,请检查!




    
    500


    

500!您的代码出现了内部错误,请检查!

然后创建controller

@Controller
public class ErrorController {

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

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

测试如下:

SpringBoot异常处理之异常显示的页面问题_第4张图片

使用X进行模糊匹配

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

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

SpringBoot异常处理之异常显示的页面问题_第5张图片

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

SpringBoot异常处理之异常显示的页面问题_第6张图片

统一错误页面显示

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

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

在templates下创建error.html

SpringBoot异常处理之异常显示的页面问题_第7张图片




    
    error


    

error!!!

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

SpringBoot异常处理之异常显示的页面问题_第8张图片

到此这篇关于SpringBoot异常处理之异常显示的页面问题的文章就介绍到这了,更多相关SpringBoot异常处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(SpringBoot异常处理之异常显示的页面问题)