SpringBoot内置了一套错误页面: 白板错误页面(Default Whitelabel Error Page),如下图:
但是是实际项目中,为了给用户最佳的使用体验,404等常见错误需要我们自定义页面来处理。
1.我们需要用org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer类来实现该功能,在 Spring Boot的启动类(main方法所在类)当中,添加如下代码:
//自定义错误页面
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/400.html"));
container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html"));
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
}
};
}
2.错误模板页面需要放在Spring Boot web应用的static内容目录下(src/main/resources/static),如下图所示:
3. 修改成功后,重新run一下,就可以看到自定义的错误页面。