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
第一種寫法
實(shí)現(xiàn)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以上版本W(wǎng)ebServerFactoryCustomizer代替之前版本的EmbeddedWebServerFactoryCustomizerAutoConfiguration
*
* @return
*/
//@Bean必須加上
@Bean
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
// //第一種:java7 常規(guī)寫法
// 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);
});
}
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)郵件發(fā)送的過程及代碼詳解
這篇文章主要介紹了Java實(shí)現(xiàn)郵件發(fā)送的過程及代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Java如果在try里面執(zhí)行return還會不會執(zhí)行finally
這篇文章主要介紹了Java如果在try里面執(zhí)行return,那么還會不會執(zhí)行finally,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
SpringBoot調(diào)用對方webService接口的幾種方法示例
平常我們開發(fā)調(diào)用接口一般會用到幾種數(shù)據(jù)格式,比如有restful的,這個是目前最流行的,也是最簡單開發(fā)的,還有一種就是webservice數(shù)據(jù)格式,本文給大家介紹了幾種SpringBoot調(diào)用對方webService接口的方法,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2023-11-11
java并發(fā)編程StampedLock高性能讀寫鎖詳解
這篇文章主要為大家介紹了java并發(fā)編程StampedLock高性能讀寫鎖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

