如何讓Spring MVC顯示自定義的404 Not Found頁面
不知道大家對千篇一律的404 Not Found的錯誤頁面是否感到膩歪了?其實透過很簡單的配置就能夠讓Spring MVC顯示您自定義的404 Not Found錯誤頁面。
在WEB-INF的web.xml裡新增一個新的區域:
意思是一旦有404錯誤發生時,顯示resouces資料夾下的404.jsp頁面。
<error-page><error-code>404</error-code><location>/resources/404.jsp</location></error-page>
現在可以隨意開發您喜歡的個性化404錯誤頁面了。
完畢之後,隨便訪問一個不存在的url,故意造成404錯誤,就能看到我們剛才配置的自定義404 Not Found頁面了。
如果想在Spring MVC裡實現一個通用的異常處理邏輯(Exception handler), 能夠捕捉所有型別的異常,比如透過下面這種方式丟擲的異常,可以按照下面介紹的步驟來做。
1. 新建一個類,繼承自SimpleMappingExceptionResolver:
public class GlobalDefaultExceptionHandler extendsSimpleMappingExceptionResolver {public GlobalDefaultExceptionHandler(){ System.out.println("GlobalDefaultExceptionHandler constructor called!"); }@Overridepublic 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。
<bean id="simpleMappingExceptionResolver" class="com.sap.exception.GlobalDefaultExceptionHandler"><property name="exceptionMappings"><map><entry key="Exception" value="generic_error"></entry></map></property><property name="defaultErrorView" value="generic_error"/></bean>
generic_error.jsp的原始碼:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Generic Error Page of Jerry</title></head><body><h2>Unknown Error Occured, please contact Wang, Jerry.</h2></body></html>
現在可以做測試了。我之前透過下列語句拋了一個異常:
throw new Exception("Generic Exception raised by Jerry");
這個異常成功地被我自己實現的異常處理類捕捉到,並顯示出我自定義的異常顯示頁面:
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2212341/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaWeb 自定義404頁面JavaWeb
- PbootCMS自定義前臺404錯誤頁面boot
- springboot自定義 404 500錯誤頁面Spring Boot
- 如何實現 SAP UI5 路由失敗時顯示自定義的 NOT Found 頁面試讀版UI路由面試
- Spring自定義MVCSpringMVC
- 如何自定義終端顯示配置
- 谷歌瀏覽器開啟網頁顯示404該頁面不存在谷歌瀏覽器網頁
- 在SAP Spartacus產品明細頁面用outlet顯示自定義資料
- 好看的404頁面html帶導航 好看的404頁面htmlHTML
- 自定義來電顯示
- 寶塔皮膚如何設定自定義404
- 自定義OAM錯誤頁面
- Swift - 自定義Share分享頁面Swift
- 如何設定 GNOME 顯示自定義幻燈片
- 自定義SeekBar顯示進度
- MUI DtPicker 顯示自定義日期UI
- php7 設定404頁面,zblogphp的404頁面設定方法PHP
- vue 3 頁面全屏顯示Vue
- 免費404頁面程式碼分享 404錯誤頁面原始碼原始碼
- 網站404頁面怎麼做 404頁面製作步驟網站
- SAP UI5 列表控制元件分頁顯示資料時,如何自定義分頁大小UI控制元件
- asp.net 利用jquery讓登入頁面垂直居中顯示ASP.NETjQuery
- word首頁不顯示頁碼怎麼設定 如何讓頁碼從第二頁開始顯示
- 如何自定義Safari的起始頁
- 教你自定義Flutter錯誤頁面Flutter
- 前端頁面自定義滾動條前端
- Appfuse:新增自定義頁面元件APP元件
- 自定義處理頁面請求
- 自定義登入和登出頁面
- ThinkPHP框架中自定義錯誤頁面和提示頁面PHP框架
- 自定義jsp中的錯誤頁面JS
- spring mvc和jquery uploadify 404SpringMVCjQuery
- Spring MVC (Java),強制頁面不快取SpringMVCJava快取
- Nginx設定404頁面Nginx
- 自定義 RMAN 顯示的日期時間格式
- html頁面自定義文字水印效果案例HTML
- 「MacOS技巧」如何調整Mac螢幕?如何自定義Mac顯示器?Mac
- 自定義progressBar顯示靜態資料