zoukankan      html  css  js  c++  java
  • 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错误,再次回到原生的报错页面

    • 希望有大佬给点意见!

  • 相关阅读:
    JAVA-AbstractQueuedSynchronizer-AQS
    线程封闭
    安全发布对象
    JAVA并发基础
    C#JsonConvert.DeserializeObject反序列化json字符
    Java并发容器
    JAVA简易数据连接池Condition
    Java线程读写锁
    JDK提供的原子类和AbstractQueuedSynchronizer(AQS)
    协方差矩阵分解的物理意义
  • 原文地址:https://www.cnblogs.com/kangkaii/p/9024644.html
Copyright © 2011-2022 走看看