1. 程式人生 > >SpringBoot2.0 異常處理

SpringBoot2.0 異常處理

 

1.建立 HttpErrorController類,實現ErrorPageRegistrar

/*
 * 檔名:HttpErrorController.java
 * 版權:Copyright 北大青鳥蘭州校區周子敖、李國賢版權所有
 * 描述: 中國蘭州法院網官網
 * 修改人: 周子敖
 * 修改時間:2018-12-24
 * 修改內容:定義 ErrorPageConfig,配置錯誤狀態與對應訪問路徑
 * 修改單號:LZFY001
 */
package team.haierbrother.lzcourt.erro;


import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
 * HttpErrorController 頁面攔截跳轉
 * 基於SpringBoot2.0的ErrorPageConfig頁面攔截跳轉
 * @author 周子敖
 * @version 1.0, 2018-12-24
 * @since CommonLog1.0
 */
@Component
public class implements ErrorPageRegistrar {
    


    @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);
        
    }
 
}

2.建立ErrorController控制器實現頁面跳轉

/*
 * 檔名:ErrorController.java
 * 版權:Copyright 北大青鳥蘭州校區周子敖、李國賢版權所有
 * 描述: 中國蘭州法院網官網
 * 修改人: 周子敖
 * 修改時間:2018-12-24
 * 修改內容:重寫基於SpringBoot2.0的ErrorPageConfig頁面攔截跳轉
 * 修改單號:LZFY001
 */
package team.haierbrother.lzcourt.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
/**
 * ErrorController 頁面攔截跳轉
 * 基於SpringBoot2.0的ErrorPageConfig頁面攔截跳轉
 * @author 周子敖
 * @version 1.0, 2018-12-24
 * @since CommonLog1.0
 */
@Controller
@RequestMapping("/error")
public class ErrorController {
    /**
     * 404頁面
     */
    @GetMapping(value = "/404")
    public String error_404() {
        return "errorpages/404";  
    }

    /**
     * 500頁面
     */
    @GetMapping(value = "/500")
    public String error_500() {
        return "errorpages/500";  
    }

}