1. 程式人生 > >spring boot 下 500 404 403錯誤頁面處理

spring boot 下 500 404 403錯誤頁面處理

1.場景說明

Spring Boot 下http 500 404 403錯誤頁面處理。同時文章是在《SpringBoot介面服務處理Whitelabel Error Page》基礎上新增內容,更加詳細的說明請參考這篇文章。本文直說明差異部分。

2.程式碼修改

     /**
     * Supports the HTML Error View
     * @param request
     * @return
     */
    @RequestMapping(value = ERROR_PATH, produces = "text/html")
    public ModelAndView errorHtml
(HttpServletRequest request) { Map<String, Object> map = getAttributes(request, false); ModelAndView mav = null; Integer status = (Integer) map.get("status"); if (status == 404){ mav = new ModelAndView("pages/404", map); } else if (status == 403
){ mav = new ModelAndView("pages/403", map); } else if (status == 500){ mav = new ModelAndView("pages/500", map); } else { mav = new ModelAndView("greeting", map); } return mav; } private Map<String, Object> getAttributes(HttpServletRequest request, boolean
includeStackTrace) { RequestAttributes requestAttributes = new ServletRequestAttributes(request); Map<String, Object> map = this.errorAttributes.getErrorAttributes(requestAttributes,includeStackTrace); String URL = request.getRequestURL().toString(); map.put("URL", URL); logger.debug("AppErrorController.method [error info]: status-" + map.get("status") +", request url-" + URL); return map; }

在templates中新增pages資料夾,建立403、404、500頁面。

這裡寫圖片描述

因為如果不處理,會提示異常資訊:

這裡寫圖片描述

3.修改效果

404錯誤跳轉至pages/404頁面。

這裡寫圖片描述

由於掌握有限,針對文中未盡事宜,麻煩各位幫忙指出,謝謝。

4.Http狀態碼

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述