摘要:不知道大家對千篇一律的的錯誤頁面是否感到膩歪了其實通過很簡單的配置就能夠讓顯示您自定義的錯誤頁面。在的里添加一個新的區域意思是一旦有錯誤發生時,顯示文件夾下的頁面。創建一個名為的,其為指向一個。
不知道大家對千篇一律的404 Not Found的錯誤頁面是否感到膩歪了?其實通過很簡單的配置就能夠讓Spring MVC顯示您自定義的404 Not Found錯誤頁面。
在WEB-INF的web.xml里添加一個新的區域:
意思是一旦有404錯誤發生時,顯示resouces文件夾下的404.jsp頁面。
404 /resources/404.jsp
現在可以隨意開發您喜歡的個性化404錯誤頁面了。
完畢之后,隨便訪問一個不存在的url,故意造成404錯誤,就能看到我們剛才配置的自定義404 Not Found頁面了。
如果想在Spring MVC里實現一個通用的異常處理邏輯(Exception handler), 能夠捕捉所有類型的異常,比如通過下面這種方式拋出的異常,可以按照下面介紹的步驟來做。
1. 新建一個類,繼承自SimpleMappingExceptionResolver:
public class GlobalDefaultExceptionHandler extends SimpleMappingExceptionResolver { public GlobalDefaultExceptionHandler(){ System.out.println("GlobalDefaultExceptionHandler constructor called!"); } @Override public String buildLogMessage(Exception ex, HttpServletRequest request) { System.out.println("Exception caught by Jerry"); ex.printStackTrace(); return "Spring MVC exception: " + ex.getLocalizedMessage(); }
2. 在Spring MVC的Servlet配置文件里,將剛才創建的類作為一個Bean配置進去:
Bean的ID設置為simpleMappingExceptionResolver,class設置為步驟一創建的類的包含namespace的全名。創建一個名為defaultErrorView的property,其value為generic_error, 指向一個JSP view:generic_error.jsp。
generic_error.jsp的源代碼:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Generic Error Page of Jerry Unknown Error Occured, please contact Wang, Jerry.
現在可以做測試了。我之前通過下列語句拋了一個異常:
throw new Exception("Generic Exception raised by Jerry");
這個異常成功地被我自己實現的異常處理類捕捉到,并顯示出我自定義的異常顯示頁面:
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71814.html
摘要:在發出經過身份驗證的請求時,被認為是端點的輸入,因此不會緩存響應。自定義端點對或的操作通過使用或通過自動公開。端點范圍請求范圍請求可以用于請求資源的一部分,當使用或時,操作將返回一個自動支持范圍請求的。 50. 端點 Actuator端點讓你監視和與應用程序交互,Spring Boot包含許多內置的端點,并允許你添加自己的端點。例如,health端點提供基本的應用程序健康信息。 可以啟...
摘要:進行異常的捕捉與錯誤信息頁面的定制。告訴,這是一個對象,該對象應該被注冊為在應用程序上下文中的。不同框架的不同配置這里以作為演示默認情況下,保護已啟用。你必須配置包含令牌的所有的網頁來工作。該命名結構旨在幫你找到需要的。 導讀: 在上篇文章中我們了解到Spring Boot 的一些常用的外部化配置,在本篇中我們將會繼續對類的配置進行了解 一個簡單的例子[錯誤頁面定制]: 在 Spr...
摘要:例如,將請求信息中的字符串格式參數轉換為對應方法中的類類型入參可通過的屬性注冊自定義轉換器。 1. 處理流程 請求提交給DispatchServlet 查找HandlerMapping 調用由HandlerAdapter封裝后的Handler 返回ModelAndView到DispatcherServlet 借由ViewResolver完成邏輯視圖到真實視圖的轉換 返回響應 2. ...
摘要:和的區別方法注解作用于級別注解為一個定義一個異常處理器類注解作用于整個工程注解定義了一個全局的異常處理器需要注意的是的優先級比高即拋出的異常如果既可以讓標注的方法處理又可以讓標注的類中的方法處理則優先讓標注的方法處理處理中的異常為了方便地展 @ControllerAdvice 和 @ExceptionHandler 的區別 ExceptionHandler, 方法注解, 作用于 Co...
閱讀 1456·2021-09-02 13:57
閱讀 1870·2019-08-30 15:55
閱讀 2407·2019-08-30 15:54
閱讀 2241·2019-08-30 15:44
閱讀 2733·2019-08-30 13:18
閱讀 480·2019-08-30 13:02
閱讀 628·2019-08-29 18:46
閱讀 1665·2019-08-29 11:25