首頁 > Java > java教程 > 主體

如何使用Spring MVC顯示自訂的404 Not Found頁面

不言
發布: 2018-10-22 15:52:59
轉載
2554 人瀏覽過

這篇文章帶給大家的內容是關於如何使用Spring MVC顯示自訂的404 Not Found頁面,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

不知道大家對千篇一律的404 Not Found的錯誤頁面是否感到膩歪了?其實透過很簡單的設定就能夠讓Spring MVC顯示您自訂的404 Not Found錯誤頁面。

在WEB-INF的web.xml裡新增一個新的區域:

如何使用Spring MVC顯示自訂的404 Not Found頁面

#意思是一旦有404錯誤發生時,顯示resouces資料夾下的404.jsp頁面。

<error-page>
<error-code>404</error-code>
<location>/resources/404.jsp</location>
</error-page>
登入後複製

現在可以隨意開發您喜歡的個人化404錯誤頁面了。

如何使用Spring MVC顯示自訂的404 Not Found頁面

如何使用Spring MVC顯示自訂的404 Not Found頁面

#完畢後,隨便存取一個不存在的url,故意造成404錯誤,就能看到我們剛剛配置的自訂404 Not Found頁面了。

如何使用Spring MVC顯示自訂的404 Not Found頁面

如果想在Spring MVC裡實作一個通用的異常處理邏輯(Exception handler), 能夠捕捉所有類型的異常,例如透過下面這種方式拋出的異常,可以依照下面介紹的步驟來做。

如何使用Spring MVC顯示自訂的404 Not Found頁面

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配置進去:

如何使用Spring MVC顯示自訂的404 Not Found頁面

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頁面

#

以上是如何使用Spring MVC顯示自訂的404 Not Found頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!