1. 程式人生 > >SpringBoot2.0實現自定義404頁面渲染

SpringBoot2.0實現自定義404頁面渲染

注意:

1、404.html一定要建在template/static下面,否則無效。

2、new ErrorPage可以重定向具體的html也可以重定向請求地址,如/404,那就需要新增/404的Controller

1、第一種寫法:實現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);
        });
    }

}

相關推薦

SpringBoot2.0實現定義404頁面渲染

注意: 1、404.html一定要建在template/static下面,否則無效。 2、new ErrorPage可以重定向具體的html也可以重定向請求地址,如/404,那就需要新增/404的C

用Spring MVC實現定義404頁面

如何定義404404,說白了就是找不到頁面,那麼如何定義“找不到”呢?我們可以通過原始碼來看看Spring MVC如何定義“404”的:// Determine handler for the current request. mappedHandler = getHandl

thinkphp 5.0如何實現定義404(異常處理)頁面

錯誤頁 自定義異常 異常錯誤 錯誤 load php 錯誤信息 art 正常 404頁面是客戶端在瀏覽網頁時,由於服務器無法正常提供信息,或是服務器無法回應,且不知道原因所返回的頁面。404承載著用戶體驗與SEO優化的重任。404頁面通常為用戶訪問了網站上不存在或已刪除的

楊澤業:創建一個用戶體驗更好的定義404頁面

vertica borde ant word-wrap lin 狀態碼 不用 和我 體驗 我先來說說,什麽是404頁面?404頁面是客戶端在瀏覽網頁時,服務器無法正常提供信息,或是服務器無法回應,且不知道原因所返回的頁面。404頁面的作用主要是:提升用戶體驗,避免出現死鏈,

Spring Boot 實現定義錯誤頁面

sprin 支援實現ErrorController 來自定義錯誤頁面 下面是具體程式碼的實現 @Controller public class CustomErrorController implements ErrorController { @Autowired

潭州課堂25班:Ph201805201 django框架 第十三課 定義404頁面,auth系統中的User模型,auth系統許可權管理 (課堂筆記)

 當 DEBUG=True 時,django 內部的404報錯資訊, 自帶的報錯資訊, 要自定義404資訊,要先把 DEBUG=False , 之後要自定義4040頁面,有兩種方法,   方法1,在建立404頁面 這樣就配置完成,當訪問不存在的頁面時,跳轉到自定義的4

xampp整合環境定義404頁面失敗解決辦法

    今天有人問小編如何設定404頁面,小編就問他使用的什麼web伺服器,原來是使用的xampp整合環境,那不就等於為Apache配置一個404頁面,那還不簡單,於是乎開啟Apache的配置檔案,找到“#ErrorDocument 404 /missing.html”,去

IIS配置404頁面配置,IIS定義404頁面

技術分享 div per 會有 path 頁面 .com lan lang .NET 環境下 用到404頁的場景一般有兩種: 場景一:報黃頁,程序性的錯誤,代碼層可以捕捉到的。 場景二:用戶輸入不存在的頁面,代碼層捕捉不到的。 IIS 默認會有404的配置,不過這種呈現

三種方式實現定義圓形頁面載入中效果的進度條,包含一個好看的Android UI

效果圖如下:下載地址 樣式一、通過動畫實現定義res/drawable/loading.xml如下: <?xml version="1.0" encoding="UTF-8"?> ​ <animation-list android:oneshot=

Android 三種方式實現定義圓形頁面載入中效果的進度條

一、通過動畫實現定義res/anim/loading.xml如下:<?xml version="1.0" encoding="UTF-8"?>  <animation-list android:oneshot="false"xmlns:android="ht

wordpress定義404頁面

404頁面自定義是每個網站不可以或缺的,不同的網站創意也有所不同。今天我們給begin主題的404頁面加一個文章歸檔,操作很簡單。 先上效果圖 具體步驟如下 第一步、找到文章歸檔的呼叫程式碼 開啟begin/pages/template-archie

odoo中運用ir.actions.client實現定義HTML頁面開發

一、背景 odoo的頁面展示包含多種型別,由於odoo本身的渲染機制比較複雜,速度也比較慢,所以想開發普通的html頁面,隨心所欲。 二、開發過程 利用ir.actions.client 型別的動作

Yii2.0實現定義的RBAC權限控制

github 管理員 17.1 onf 系統 點擊 img alt main Yii2-Admin 基於Yii2 Advanced開發的RBAC權限控制系統 Github地址, 歡迎star Yii2-Admin 在線體驗 Yii2-Admin 功能 後臺管

sitecore定義404頁面

頁面 nbsp you 自定義404 find 配置 bsp cor tin sitecore默認的404頁面為/sitecore/service/notfound.aspx 更改Sitecore.config中的以下節點,可配置自定義404頁面的item &

springmvc通過controller層定義404頁面已經springmvc匹配規則

通常在springmvc中可以直接通過web.xml配置404自定義的頁面,但是缺少靈活性 比如如果需要根據對映地址去跳轉到不同

Laravel5.4中定義404等錯誤頁面

dtd app top exc auto get 1.0 存在 href 1.在resources/views/下簡歷文件夾error,在error文件中建立"404.blade.php文件"。    1 <!DOCTYPE html PUBLIC "-//W3C

ASP.NET WebApi OWIN 實現 OAuth 2.0定義獲取 Token)

href timespan 獲取 edi prot cep b- med 2-0 相關文章:ASP.NET WebApi OWIN 實現 OAuth 2.0 之前的項目實現,Token 放在請求頭的 Headers 裏面,類似於這樣: Accept: application

【SpringBoot】vue重新整理頁面404錯誤,定義指向頁面

問題描述      將vue專案整合進後端專案,部署伺服器後,正常使用沒有問題,但是隻要重新整理當前頁面就總是返回404錯誤,Whitelabel Error Page,This application has no explicit mapping for /

Thinkphp5.0.18最高效的實現定義類的自動載入方式

今天看了下,tp5的原始碼。發現自定義類庫的載入方式 是有順序的。分別是按對映方式 psr4 psr0,其中最高效的,順序最前的當然是對映方式。 我貼出原始碼,大家看下。 private static function findFile($class) { //echo

django 定義404,403,500頁面

1.設定settings.py DEBUG = False ALLOWED_HOSTS = ["*"] STATIC_URL = '/static/' STATIC_ROOT = 'static 2.設定主urls from . import view urlpa