SpringBoot2.0如何自定义404页面渲染
更新时间:2023年12月20日 16:30:12 作者:trusause
这篇文章主要介绍了SpringBoot2.0如何自定义404页面渲染问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
SpringBoot2.0自定义404页面渲染
注意:
1、404.html一定要建在template/static下面,否则无效。
2、new ErrorPage可以重定向具体的html也可以重定向请求地址,如/404,那就需要添加/404的Controller
第一种写法
实现ErrorPageRegistrar
@Configuration public class ErrorConfigurar implements ErrorPageRegistrar { @Override public void registerErrorPages(ErrorPageRegistry registry) { ErrorPage[] errorPages = new ErrorPage[2]; errorPages[0] = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); errorPages[1] = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html"); registry.addErrorPages(errorPages); } }
第二种写法
SpringBoot2.0之前的写法
@Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "404.html"); container.addErrorPages(errorPage404); } }; }
第三种写法
SpringBoot2.0之后的写法
@Configuration public class ErrorPageConfig { /** * SpringBoot2.0以上版本WebServerFactoryCustomizer代替之前版本的EmbeddedWebServerFactoryCustomizerAutoConfiguration * * @return */ //@Bean必须加上 @Bean public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() { // //第一种:java7 常规写法 // return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() { // @Override // public void customize(ConfigurableWebServerFactory factory) { // ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); // factory.addErrorPages(errorPage404); // } // }; //第二种写法:java8 lambda写法 return (factory -> { ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"); factory.addErrorPages(errorPage404); }); } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解决org.springframework.context.ApplicationContextException报错的
这篇文章主要介绍了解决org.springframework.context.ApplicationContextException报错的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06Python安装Jupyter Notebook配置使用教程详解
这篇文章主要介绍了Python安装Jupyter Notebook配置使用教程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09SpringBoot中的ThreadLocal保存请求用户信息的实例demo
线程局部变量,创建一个线程变量后,针对这个变量可以让每个线程拥有自己的变量副本,每个线程是访问的自己的副本,与其他线程的相互独立,本文介绍SpringBoot中的ThreadLocal保存请求用户信息,需要的朋友可以参考下2024-05-05Java如何利用状态模式(state pattern)替代if else
这篇文章主要给大家介绍了关于Java如何利用状态模式(state pattern)替代if else的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11
最新评论