zoukankan      html  css  js  c++  java
  • Springboot入门4-配置异常页面

    springboot中,可以使用org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer类来统一的处理异常页面,使用方法如下:

    1.添加异常页面:

    2.自定义错误页面(实现EmbeddedServletContainerCustomizer接口)

    //@Configuration(todo:这里为什么加了注释无效,不加反而生效呢)
    public class ErrorPageConfig{
        @Bean
        public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
            return new EmbeddedServletContainerCustomizer() {
                @Override
                public void customize(ConfigurableEmbeddedServletContainer container) {
                    ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/error/401.html");
                    ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/error/404.html");
                    ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500.html");
                    container.addErrorPages(error401Page, error404Page, error500Page);
                }
            };
        }
    }

    到这里配置就可以生效了。

    3.还可以写一个error页面的controller来统一处理异常页面的跳转,需要将上面的配置类改成如下:

    @Configuration
    public class ErrorPageConfig implements EmbeddedServletContainerCustomizer{
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            container.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/error/400"));
            container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500"));
            container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/404"));
        }
    }

    其实就是不直接返回页面,而是用controller返回ModelAndView来进行页面跳转,这里controller就不写了。

  • 相关阅读:
    工具-pycharm-Git管理代码到GitHub
    工具-jenkins配置项目
    工具-jenkins重启服务
    工具-jenkins安装
    pycharm-管理GitHub
    博客园样式DIY
    接口测试-获取邮件授权码口令
    iOS 反射 学习 和 运用
    iOS 优化界面流畅度的探讨
    iOS 事件响应者链的学习(也有叫 UI连锁链)
  • 原文地址:https://www.cnblogs.com/Jason-Xiang/p/8385049.html
Copyright © 2011-2022 走看看