spring boot 錯誤頁面配置解決方案
阿新 • • 發佈:2020-01-07
這篇文章主要介紹了spring boot 錯誤頁面配置解決方案,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
如果訪問了錯誤的路徑,或者後臺報錯
如果沒有一個統一的頁面!
或者說頁面上展示一堆報錯資訊,既影響美觀,又對使用者不友好!
那麼如何配置?
定義 ErrorPageConfig,配置錯誤狀態與對應訪問路徑
@Component public class ErrorPageConfig implements ErrorPageRegistrar { private static final Logger logger = LoggerFactory.getLogger(ErrorPageConfig.class); @Override public void registerErrorPages(ErrorPageRegistry errorPageRegistry) { //1、按錯誤的型別顯示錯誤的網頁 //錯誤型別為404,找不到網頁的,預設顯示404.html網頁 ErrorPage e404 = new ErrorPage(HttpStatus.NOT_FOUND,"/error/404"); //錯誤型別為500,表示伺服器響應錯誤,預設顯示500.html網頁 ErrorPage e500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,"/error/500"); errorPageRegistry.addErrorPages(e404,e500); } }
定義控制器,專門用於ErrorPageConfig 跳轉路徑
@Controller @RequestMapping("/error") public class ErrorController { /** * 404頁面 */ @GetMapping(value = "/404") public String error_404() { return "comm/error_404"; } /** * 500頁面 */ @GetMapping(value = "/500") public String error_500() { return "comm/error_500"; } }
在comm資料夾 下新建頁面
訪問不存在的地址,或者後臺報錯,即可展示友好頁面
參考連結找不到了。
感謝:https://github.com/ZHENFENG13
其實,還有bug。
- 比如訪問 http://localhost:9090/admin/1 沒有直接報404,反而 真的去找了這個路徑
- 與後臺admin開頭的要跳轉到登入頁面攔截器發生衝突,導致500錯誤
- 比如直接訪問 http://localhost:9090/error ,會報一個909錯誤,再次回到原生的報錯頁面
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。