自定义White page error

Spring boot 中自定义White page

-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Spring Boot默认使用嵌入式Tomcat,默认没有页面来处理404等常见错误. 因此我们在使用spring boot的时候很多时候会出现这个页面, 不美观不说, 还影响用户使用感
自定义White page error
今天就讲解下怎么自定义自己的空白页

-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
自定义White page error
2. 文件中的内容如下:
自定义White page error
文中采用的是thymeleaf 模板, 有兴趣的可以去了解下 , 很好用

  1. 因为错误请求是跳转到 /error , 我们给他写个error.的controller, 让他接收到请求, 并且跳转到我们定义好的error.html页面中
    自定义White page error
    4.我们创建了一个CustomizedController 的控制类 , 注意RequestMapping中需要填写
    @RequestMapping("${server.error.path:${error.path:/error}}")
    然后需要实现ErrorController 这个接口 , 再实现他的方法 getErrorPath()
    在方法中返回的便是我们刚刚书写好的error.html页面.
    自定义White page error
  2. 这样子是处理了所有错误, 但是有时候我们想知道是什么错误, 那我们便需要在控制器中继续书写两个方法 .
    自定义White page error
    这样子是处理400 系列和 500 系列的错误,但是我们如果就是想知道具体的错误那该怎么办
  3. 书写一个自定义的异常 , 实现RuntimeException接口 , 创建一个错误码的接口, 然后创建一个自己的错误枚举实现错误码接口, 枚举里面写上自己定义的错误
    自定义White page error
    自定义White page error自定义White page error
    自定义White page error
  4. 创建一个 CustomizedExceptionHandler , 在这个类的上面添加 @ControllerAdvice 注解 , 然后添加一个hanle 的方法, 返回的是ModelAndView , 在方法的上面添加 @ExceptionHandler(Exception.class) 注解
    自定义White page error
    自定义White page error
    这个类中会自动捕捉到异常, 如果捕捉到的异常是我们自己写的异常, 那就会把我们书写的异常信息添加到 model里面. 然后返回给error页面.

这样子我们就定义好自己的空白页了, 然后要返回什么错误信息 , 就直接在枚举中写上错误信息, 并在可能会出现异常的地方 抛出自己定义的异常 , 传入我们错误信息的枚举, 这样子就会在error white page上显示出来了 …