SpringBoot中实现定制异常页面的方法

  介绍

今天就跟大家聊聊有关SpringBoot中实现定制异常页面的方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强>一、历史回顾

在SpringMVC年代,我们的异常页面一般配置在网络。xml文件中,如下:

& lt; !——配置404页面——比;   & lt; error-page>   & lt; error-code> 404 & lt;/error-code>   & lt; location>/错误/404. html   & lt;/error-page>

这里我们指定了异常请求状态码404,然后配置了404异常请求的页面地址,这就意味着如果某一个请求发生了404异常,则会出现404。html界面

<强> 1,默认异常页面

 SpringBoot中实现定制异常页面的方法”> <br/> </p> <p>这是SpringBoot中默认的异常页面,返回的是一堆异常信息和异常状态码,那用户固然是看不懂这些信息的,容易使得用户产生恐慌的心里,从而影响产品的用户体验</p> <p> <强> 2,定制异常页面</强> </p> <p> SpringBoot中定制异常页面非常简单,我们需要一个配置文件ExceptionPageConfig。java </p> <pre类=进口org.springframework.boot.web.server.ConfigurableWebServerFactory;   进口org.springframework.boot.web.server.ErrorPage;   进口org.springframework.boot.web.server.WebServerFactoryCustomizer;   进口org.springframework.context.annotation.Bean;   进口org.springframework.context.annotation.Configuration;   进口org.springframework.http.HttpStatus;/* *   *统一异常页面处理   *   * @Author彩条   * */@ configuration   公开课ExceptionPageConfig {/* *   * SpringBoot2.0以上版本   * WebServerFactoryCustomizer代替之前版本的EmbeddedWebServerFactoryCustomizerAutoConfiguration   *   * @return   */@ bean   公共WebServerFactoryCustomizerwebServerFactoryCustomizer () {   返回(容器→{   ErrorPage error400Page=new ErrorPage (HttpStatus。BAD_REQUEST、“/400“);   ErrorPage error404Page=new ErrorPage (HttpStatus。NOT_FOUND、“/404“);   ErrorPage error500Page=new ErrorPage (HttpStatus。INTERNAL_SERVER_ERROR、“/500“);   容器。addErrorPages (error400Page error404Page error500Page);   });   }   }

可以看的出,这里我们配置了400404500三种异常页面,然后我们需要编写API请求异常页面SysExceptionController。java

进口com.zyxx.common.utils.PasswordUtils;   进口io.swagger.annotations.Api;   进口io.swagger.annotations.ApiOperation;   进口org.apache.shiro.SecurityUtils;   进口org.springframework.stereotype.Controller;   进口org.springframework.web.bind.annotation.GetMapping;/* *   * & lt; p>   *前端控制器   * & lt;/p>   *   * @author彩条   * @since 2020-07-15   * */@Api(标签=昂筇ü芾矶恕斐4怼?   @ controller   公开课SysExceptionController {      @ApiOperation(值=https://www.yisu.com/zixun/鼻肭?00页面”,指出=扒肭?00页面”)   @GetMapping (“400”)   公共字符串badRequest () {   返回“sys/异常/400”;   }      @ApiOperation (value="请求404页面”,指出=扒肭?04页面”)   @GetMapping (“404”)   公共字符串notFound () {   返回“sys/异常/404”;   }      @ApiOperation (value="请求500页面”,指出=扒肭?00页面”)   @GetMapping (“500”)   公共字符串serverError () {   返回“sys/异常/500”;   }   }

API写好,下面我们就需要开发异常页面的展示信息了,这里贴一张页面吧,404。html

进口com.zyxx.common.utils.PasswordUtils;
  进口io.swagger.annotations.Api;
  进口io.swagger.annotations.ApiOperation;
  进口org.apache.shiro.SecurityUtils;
  进口org.springframework.stereotype.Controller;
  进口org.springframework.web.bind.annotation.GetMapping;/* *
  * & lt; p>
  *前端控制器
  * & lt;/p>
  *
  * @author彩条
  * @since 2020-07-15
  * */@Api(标签=昂筇ü芾矶恕斐4怼?
  @ controller
  公开课SysExceptionController {
  
  @ApiOperation(值=https://www.yisu.com/zixun/鼻肭?00页面”,指出=扒肭?00页面”)
  @GetMapping (“400”)
  公共字符串badRequest () {
  返回“sys/异常/400”;
  }
  
  @ApiOperation (value="请求404页面”,指出=扒肭?04页面”)
  @GetMapping (“404”)
  公共字符串notFound () {
  返回“sys/异常/404”;
  }
  
  @ApiOperation (value="请求500页面”,指出=扒肭?00页面”)
  @GetMapping (“500”)
  公共字符串serverError () {
  返回“sys/异常/500”;
  }
  }

SpringBoot中实现定制异常页面的方法