springboot 自定義404、500錯誤提示頁面的實現
springboot 默認的異常處理機制
springboot
默認已經提供瞭一套處理異常的機制。一旦程序中出現瞭異常 springboot
會向 /error
的 url
發送請求。在 springboot
中提供瞭一個名為 BasicErrorController
的類來處理 /error
請求,然後跳轉到默認顯示異常的頁面來展示異常信息
使用模板引擎
在使用 thymeleaf
等模板引擎時,springboot
會自動到 src/main/resources/templates/error/
,文件夾下尋找 404.html、500.html
的錯誤提示頁面
錯誤提示頁面的命名規則就是:錯誤碼.html
,如 404
是 404.html
,500
是 500.html
使用示例
創建 springboot
項目如下
404、500
錯誤提示頁面結構如下
application.properties
項目配置文件
server.port=8080 #它的默認值就是classpath:/templates/,源碼在ThymeleafProperties類中 spring.mvc.view.prefix=classpath:/templates/ #它的默認值就是.html,源碼在ThymeleafProperties類中 spring.mvc.view.suffix=.html spring.thymeleaf.cache=false
404
頁面內容如下
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>404</title> <link rel="shortcut icon" type="image/x-icon" th:href="@{/img/favicon.ico}" rel="external nofollow" rel="external nofollow" /> <link rel="stylesheet" type="text/css" th:href="@{/css/404.css}" rel="external nofollow" /> </head> <body> <div id="banner" style="height: 600px;width: 600px;margin-left: 370px"></div> </body> </html>
500
頁面內容如下
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>500</title> <link rel="shortcut icon" type="image/x-icon" th:href="@{/img/favicon.ico}" rel="external nofollow" rel="external nofollow" /> <link rel="stylesheet" type="text/css" th:href="@{/css/500.css}" rel="external nofollow" /> </head> <body> <div id="banner" style="height: 600px;width: 600px;margin-left: 370px"></div> </body> </html>
controller
如下
@Controller public class PageController { // 跳轉到登錄頁 @GetMapping(path = "/toLogin") public String toLogin() { int code = 1/0; return "login"; } }
404.html
頁面測試
訪問不存在的接口:http://localhost:8080/aaaa
,結果如下
500.html
頁面測試
訪問已存在的接口:http://localhost:8080/toLogin
,結果如下
沒有使用模板引擎
如果沒有使用 thymeleaf
等模板引擎時,springboot
會到靜態資源文件夾尋找 404.htm、500.html
的錯誤提示頁面,命名同上。springboot
中默認的靜態資源路徑有 4
個,分別是
classpath:/METAINF/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
優先級順序為:META-INF/resources > resources > static > public
,以上 4
種路徑創建 error
文件夾,再創建 404、500
錯誤提示頁面如下
不用寫額外的映射器,就能直接請求到
到此這篇關於springboot 自定義404、500錯誤提示頁面的實現的文章就介紹到這瞭,更多相關springboot 自定義錯誤頁面內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- SpringBoot @ExceptionHandler與@ControllerAdvice異常處理詳解
- SpringBoot靜態資源CSS等修改後再運行無效的解決
- SpringBoot項目中如何訪問HTML頁面
- springboot配置templates直接訪問的實現
- SpringBoot整合Thymeleaf與FreeMarker視圖層技術