一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解如何讓Spring MVC顯示自定義的404 Not Found頁面

詳解如何讓Spring MVC顯示自定義的404 Not Found頁面

2021-06-07 13:43JerryWangSAP Java教程

這篇文章主要介紹了詳解如何讓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頁面。

?
1
2
3
4
5
6
7
<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:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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的源代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<%@ 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");

這個異常成功地被我自己實現的異常處理類捕捉到,并顯示出我自定義的異常顯示頁面:

詳解如何讓Spring MVC顯示自定義的404 Not Found頁面

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://segmentfault.com/a/1190000016758927

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚州成人 | 78成人网| a男人的天堂久久a毛片 | 免费xxxx日本大片在线观看 | chinese男性厕所撒尿合集 | 91大神在线精品视频一区 | 虎四免费入口 | 国产精品久久久久久久牛牛 | 波多野结衣52部合集在线观看 | 爱情岛论坛亚洲永久入口口 | 国产精品视频2020 | 国产一区二区三区欧美精品 | 日本免费不卡在线一区二区三区 | 日本伊人色综合网 | 久久婷婷五月综合色丁香 | 小早川怜子息梦精在线播放 | 国产成人8x视频一区二区 | 午夜在线a亚洲v天堂网2019 | 国产一级视频在线观看 | 日本深夜视频 | 亚洲国产精品综合久久一线 | 动漫精品午夜在线播放 | 红楼影视h38bar在线线播放 | 91国语精品自产拍在线观看一 | 国产第一福利影院 | 娇小性色 | 亚洲欧美优优色在线影院 | 十大看黄网站 | 日本免费三片在线播放 | 亚洲人成绝费网站色ww | 手机看片自拍 | 国产午夜免费视频 | 人人干97| 国产精品99久久免费观看 | 深夜国产在线 | 成年极品漫画在线观看 | 国产真实伦对白在线播放 | 亚洲国产影院 | 日本xx高清视频免费观看 | 亚洲伦理一区 | 乌克兰肥熟 |