SpringBoot极简教程 · Spring Boot Spring-Boot我爱编程

【Spring Boot 从入门到放弃】自定义404错误页面

2018-04-02  本文已影响110人  路西法Lucifer丶

我们经常会遇到输入没有的地址的时候回报一个404的页面,这篇博客就是来解决这个问题

image.png
Spring Boot默认使用嵌入式Tomcat,默认没有页面来处理404等常见错误。因此,为了给用户最佳的使用体验,404等常见错误需要我们自定义页面来处理。

需要用到

org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer

类来实现该功能,在Spring Boot的启动类(main方法所在类)当中,添加如下代码:

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {

    return new EmbeddedServletContainerCustomizer() {
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {

            ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");
            ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
            ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");

            container.addErrorPages(error401Page, error404Page, error500Page);
        }
    };
}

这里只是用了401、404、500 其实在HttpStatus这个类里面有很多状态可以拦截,需要的可以自己看一下


image.png
注意不要导错包 导spring boot的包

错误页面需要放在Spring Boot web应用的static内容目录下,它的默认位置是:src/main/resources/static,如下图所示:


image.png

这时候我们随便输入一串字符


image.png

成功被拦截了。

上一篇下一篇

猜你喜欢

热点阅读