spring boot 2.0+ 错误页面配置

本文介绍如何在Spring Boot中配置统一的错误页面,包括404和500错误的自定义展示页面,通过ErrorPageConfig组件实现不同HTTP状态码对应特定的错误页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果访问了错误的路径,或者后台报错

  • 如果没有一个统一的页面!
  • 或者说页面上展示一堆报错信息,既影响美观,又对用户不友好!

那么如何配置?

  • 定义 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文件夹 下新建页面

1331009-20180511161535191-2131961258.png

  • 访问不存在的地址,或者后台报错,即可展示友好页面

1331009-20180511161659662-899157136.png

参考链接找不到了。

  • 感谢:https://github.com/ZHENFENG13

其实,还有bug。

  • 比如访问 http://localhost:9090/admin/1 没有直接报404,反而 真的去找了这个路径
  • 与后台admin开头的要跳转到登录页面拦截器发生冲突,导致500错误

  • 比如直接访问 http://localhost:9090/error ,会报一个909错误,再次回到原生的报错页面

  • 希望有大佬给点意见!

转载于:https://www.cnblogs.com/kangkaii/p/9024644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值