Spring Boot 自定義錯誤頁面

2021-10-04 17:25:15 字數 2350 閱讀 8621

使用spring boot構建的web應用可以很方便的打成jar包發布,也可以打成war包發布到應用伺服器中。自定義錯誤頁面在這兩種發布方式下是不一樣的。

建立spring boot專案,預設打包方式是jar,內部使用內嵌tomcat等servlet容器

最簡單的方式是直接在resources/templates目錄下建立error.html頁面,此時如果訪問不存在的畫面就會直接進入此畫面。

sorry, system exception

第二種方式是實現errorpageregistrar介面,定義具體異常的url路徑:

}然後在乙個配置類中宣告該bean:

@bean

public errorpageregistrar errorpageregistrar()

在controller中新增404和500:

/**

* 404 error

* @return

*/public string error404()

/*** 500 error

* @return

*/public string error500()

在resources/templaes/commons目錄下建立404.html和500.html下即可。

spring boot打成war包發布到tomcat中,首先需要配置如下:

將spring boot入口類繼承 org.springframework.boot.web.support.springbootservletinitializer 類

@enabletransactionmanagement

@override

} public static void main(string args) }

pom.xml中的packaging設定成war

war
pom.xml中新增屬性start-class,設定為spring boot入口類

utf-8

utf-8

1.83.0.2.release

2.1.1

pom.xml中將tomcat的依賴的scope設定成provided

org.springframework.boot

spring-boot-starter-tomcat

provided

此時打包後生成的war包可以發布到tomcat中了,但是404等錯誤畫面預設是 whitelable error page ,這種方式明顯不夠友好,通過如下步驟自定義錯誤畫面:

server.error.whitelabel.enabled=false

定義error.html, 404.html, 500.html等錯誤畫面

go home

建立controller實現 org.springframework.boot.autoconfigure.web.errorcontroller 介面

此時如果訪問不存在的畫面就會顯示我們自定義的畫面。

版本說明:

參考:

springboot自定義錯誤頁面

controller public class baseerrorcontroller implements errorcontroller public string error 方法二 新增自定義的錯誤頁面2.1 html靜態頁面 在resources public error 下定義 如新增4...

SpringBoot自定義錯誤頁面

在springboot中,除了springboot預設的錯誤頁面外,我們也可以自定義頁面,當然了,我們首先需要新增依賴 org.springframework.bootgroupid spring boot starter thymeleafartifactid dependency 除了thyme...

自定義Spring Boot裝配

spring boot自動配置會嘗試根據新增的jar依賴項自動配置spring應用程式。使用 componentscan 查詢您的bean 和使用 autowired 進行建構函式注入 自動配置類使用 conditionalonclass和 conditionalo singbean注釋,condi...