我们经常会遇到输入没有的地址的时候回报一个404的页面,这篇博客就是来解决这个问题
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这个类里面有很多状态可以拦截,需要的可以自己看一下
注意不要导错包 导spring boot的包
错误页面需要放在Spring Boot web应用的static内容目录下,它的默认位置是:src/main/resources/static,如下图所示:
这时候我们随便输入一串字符
成功被拦截了。