@Configuration
public class WebConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer(){
return new EmbeddedServletContainerCustomizer(){
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
System.out.println("===EmbeddedServletContainerCustomizer===");
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/404.html"));
container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500.html"));
container.addErrorPages(new ErrorPage(java.lang.Throwable.class,"/error/500.html"));
}
};
}
}
在resources/templates/error目录下定义 404.html 500.html
如果 container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/404.html")); 写成
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/404"));
没有.html后缀,就要在定义一个Controller @RequestMapping(produces = "text/html",value = "404")
跳转到这个方法里,在方法中做相应的处理。