spring boot 2.0+ 错误页面配置
如果访问了错误的路径,或者后台报错
- 如果没有一个统一的页面!
- 或者说页面上展示一堆报错信息,既影响美观,又对用户不友好!
那么如何配置?
- 定义
ErrorPageConfig
,配置错误状态与对应访问路径
@Component
public class ErrorPageConfig implements ErrorPageRegistrar {
private static final Logger logger = LoggerFactory.getLogger(ErrorPageConfig.class);
@Override
public void registerErrorPages(ErrorPageRegistry errorPageRegistry) {
//1、按错误的类型显示错误的网页
//错误类型为404,找不到网页的,默认显示404.html网页
ErrorPage e404 = new ErrorPage(HttpStatus.NOT_FOUND, "/error/404");
//错误类型为500,表示服务器响应错误,默认显示500.html网页
ErrorPage e500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500");
errorPageRegistry.addErrorPages(e404, e500);
}
}
- 定义控制器,专门用于
ErrorPageConfig
跳转路径
@Controller
@RequestMapping("/error")
public class ErrorController {
/**
* 404页面
*/
@GetMapping(value = "/404")
public String error_404() {
return "comm/error_404";
}
/**
* 500页面
*/
@GetMapping(value = "/500")
public String error_500() {
return "comm/error_500";
}
}
- 在comm文件夹 下新建页面
- 访问不存在的地址,或者后台报错,即可展示友好页面
参考链接找不到了。
其实,还有bug。
-
比如访问 http://localhost:9090/admin/1 没有直接报404,反而 真的去找了这个路径
-
与后台admin开头的要跳转到登录页面拦截器发生冲突,导致500错误
-
比如直接访问 http://localhost:9090/error ,会报一个909错误,再次回到原生的报错页面
-
希望有大佬给点意见!
作者:kangkaii
如果您觉得本文有帮助的话,可以点个推荐呐!!
若有不对或者不合理的地方也欢迎指出,感谢~
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.