1. 程式人生 > 程式設計 >spring boot 錯誤頁面配置解決方案

spring boot 錯誤頁面配置解決方案

這篇文章主要介紹了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錯誤,再次回到原生的報錯頁面

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。