SprinBoot:简述SpringBoot控制层的统一异常处理(错误页面)
实际项目开发中,程序往往会出现各式各样的异常情况,在发生异常的时候Spring Boot默认提供了错误页面展示给用户。看似比较友好,其实页面很丑。
例如:当我们的程序内部报错的时候或者访问的页面找不到的时候,我们可以看到下面的错误页面:
但是,我们可以自己设计好看一点的页面来替换这个页面,这样会更友好点,比如我们看今日头条的页面:
使用Spring MVC框架时,都是直接配置web.xml,示例如下:
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/view/404.jsp</location>
</error-page>
<error-page>
<error-code>400</error-code>
<location>/WEB-INF/view/400.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/view/500.jsp</location>
</error-page>
在Spring Boot中也非常简单,直接编写对应的错误页面,进行覆盖即可:
/**
* 自定义错误页面覆盖spring boot中默认的错误页面
*/
@Controller
public class ErrorController {
@GetMapping("/400")
public String badRequest() {
return "error/400";
}
@GetMapping("/404")
public String notFound() {
return "error/404";
}
@GetMapping("/500")
public String serverError() {
return "error/500";
}
}
当然,页面内容需要我们自己写:
<body>
<section id="error" class="container text-center" style="height:800px;">
<h1>404, 页面没有找到</h1>
<p>您正在寻找的页面不存在或发生其他错误。</p>
<a class="btn btn-primary" href="http://pan.cxytiandi.com">回到网站首页</a>
</section>
</body>
参考: