摘要:不知道大家對千篇一律的的錯(cuò)誤頁面是否感到膩歪了其實(shí)通過很簡單的配置就能夠讓顯示您自定義的錯(cuò)誤頁面。在的里添加一個(gè)新的區(qū)域意思是一旦有錯(cuò)誤發(fā)生時(shí),顯示文件夾下的頁面。創(chuàng)建一個(gè)名為的,其為指向一個(gè)。
不知道大家對千篇一律的404 Not Found的錯(cuò)誤頁面是否感到膩歪了?其實(shí)通過很簡單的配置就能夠讓Spring MVC顯示您自定義的404 Not Found錯(cuò)誤頁面。
在WEB-INF的web.xml里添加一個(gè)新的區(qū)域:
意思是一旦有404錯(cuò)誤發(fā)生時(shí),顯示resouces文件夾下的404.jsp頁面。
404 /resources/404.jsp
現(xiàn)在可以隨意開發(fā)您喜歡的個(gè)性化404錯(cuò)誤頁面了。
完畢之后,隨便訪問一個(gè)不存在的url,故意造成404錯(cuò)誤,就能看到我們剛才配置的自定義404 Not Found頁面了。
如果想在Spring MVC里實(shí)現(xiàn)一個(gè)通用的異常處理邏輯(Exception handler), 能夠捕捉所有類型的異常,比如通過下面這種方式拋出的異常,可以按照下面介紹的步驟來做。
1. 新建一個(gè)類,繼承自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配置文件里,將剛才創(chuàng)建的類作為一個(gè)Bean配置進(jìn)去:
Bean的ID設(shè)置為simpleMappingExceptionResolver,class設(shè)置為步驟一創(chuàng)建的類的包含namespace的全名。創(chuàng)建一個(gè)名為defaultErrorView的property,其value為generic_error, 指向一個(gè)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.
現(xiàn)在可以做測試了。我之前通過下列語句拋了一個(gè)異常:
throw new Exception("Generic Exception raised by Jerry");
這個(gè)異常成功地被我自己實(shí)現(xiàn)的異常處理類捕捉到,并顯示出我自定義的異常顯示頁面:
要獲取更多Jerry的原創(chuàng)技術(shù)文章,請關(guān)注公眾號"汪子熙"或者掃描下面二維碼:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71814.html
摘要:在發(fā)出經(jīng)過身份驗(yàn)證的請求時(shí),被認(rèn)為是端點(diǎn)的輸入,因此不會緩存響應(yīng)。自定義端點(diǎn)對或的操作通過使用或通過自動公開。端點(diǎn)范圍請求范圍請求可以用于請求資源的一部分,當(dāng)使用或時(shí),操作將返回一個(gè)自動支持范圍請求的。 50. 端點(diǎn) Actuator端點(diǎn)讓你監(jiān)視和與應(yīng)用程序交互,Spring Boot包含許多內(nèi)置的端點(diǎn),并允許你添加自己的端點(diǎn)。例如,health端點(diǎn)提供基本的應(yīng)用程序健康信息。 可以啟...
摘要:進(jìn)行異常的捕捉與錯(cuò)誤信息頁面的定制。告訴,這是一個(gè)對象,該對象應(yīng)該被注冊為在應(yīng)用程序上下文中的。不同框架的不同配置這里以作為演示默認(rèn)情況下,保護(hù)已啟用。你必須配置包含令牌的所有的網(wǎng)頁來工作。該命名結(jié)構(gòu)旨在幫你找到需要的。 導(dǎo)讀: 在上篇文章中我們了解到Spring Boot 的一些常用的外部化配置,在本篇中我們將會繼續(xù)對類的配置進(jìn)行了解 一個(gè)簡單的例子[錯(cuò)誤頁面定制]: 在 Spr...
摘要:例如,將請求信息中的字符串格式參數(shù)轉(zhuǎn)換為對應(yīng)方法中的類類型入?yún)⒖赏ㄟ^的屬性注冊自定義轉(zhuǎn)換器。 1. 處理流程 請求提交給DispatchServlet 查找HandlerMapping 調(diào)用由HandlerAdapter封裝后的Handler 返回ModelAndView到DispatcherServlet 借由ViewResolver完成邏輯視圖到真實(shí)視圖的轉(zhuǎn)換 返回響應(yīng) 2. ...
摘要:和的區(qū)別方法注解作用于級別注解為一個(gè)定義一個(gè)異常處理器類注解作用于整個(gè)工程注解定義了一個(gè)全局的異常處理器需要注意的是的優(yōu)先級比高即拋出的異常如果既可以讓標(biāo)注的方法處理又可以讓標(biāo)注的類中的方法處理則優(yōu)先讓標(biāo)注的方法處理處理中的異常為了方便地展 @ControllerAdvice 和 @ExceptionHandler 的區(qū)別 ExceptionHandler, 方法注解, 作用于 Co...
摘要:邊界清晰,有利于理解開發(fā)測試和部署。前后端分離考慮到目前開發(fā)流行前后端分離,為了適應(yīng)潮流,引入前后端分離的約束。該請求被接受處理,但是該處理是不完整的。 本文欲回答這樣一個(gè)問題:在 「特定環(huán)境 」下,如何規(guī)劃Web開發(fā)框架,使其能滿足 「期望 」? 假設(shè)我們的「特定環(huán)境 」如下: 技術(shù)層面 使用Java語言進(jìn)行開發(fā) 通過Maven構(gòu)建 基于SpringBoot 使用Intelli...
閱讀 1482·2021-09-02 13:57
閱讀 1901·2019-08-30 15:55
閱讀 2476·2019-08-30 15:54
閱讀 2289·2019-08-30 15:44
閱讀 2760·2019-08-30 13:18
閱讀 507·2019-08-30 13:02
閱讀 726·2019-08-29 18:46
閱讀 1686·2019-08-29 11:25