這篇文章帶給大家的內容是關於如何使用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 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。
<bean> <property> <map> <entry></entry> </map> </property> <property></property> </bean>
generic_error.jsp的原始碼:
nbsp;html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <meta> <title>Generic Error Page of Jerry</title> <h2>Unknown Error Occured, please contact Wang, Jerry.</h2>
現在可以做測試了。我之前透過下列語句拋了一個例外:
throw new Exception("Generic Exception raised by Jerry");
這個異常成功地被我自己實現的異常處理類別捕捉到,並顯示出我自訂的異常顯示頁面:
#
以上是如何使用Spring MVC顯示自訂的404 Not Found頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!