• 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就不写了。

  • 相关阅读:
    逆波兰表达式解数学运算(c#)
    杂文
    WebDriverExtensionsByC#
    cookie使用
    Discuz
    重构中学习
    生活知识
    js和 jquery对象
    jquery中is的用法
    html下select追加元素,IE下错误
  • 原文地址:https://www.cnblogs.com/Jason-Xiang/p/8385049.html
Copyright © 2020-2023  润新知