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

  • 相关阅读:
    【springboot】@Valid参数校验
    【springboot】事务处理
    【springboot】过滤器、监听器、拦截器,Aspect切片
    【java web】过滤器、拦截器、监听器的区别
    【java web】监听器listener
    【java web】拦截器inteceptor
    【java web】过滤器filter
    【权限管理】Apache Shiro和Spring Security的对比
    【面试题】挑战10个最难回答的Java面试题(附答案)
    【面试题】反向面试
  • 原文地址:https://www.cnblogs.com/Jason-Xiang/p/8385049.html
Copyright © 2020-2023  润新知