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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩亚洲国内综合网香蕉 | 午夜AV国产欧美亚洲高清在线 | 万域之王动漫在线观看全集免费播放 | 性色AV一区二区三区V视界影院 | 午夜理论电影在线观看亚洲 | 桃色综合网 | 99久久无色码中文字幕 | 精品人伦一区二区三区潘金莲 | 成年美女黄网色大观看全 | 欧美午夜精品久久久久久黑人 | 精品国产欧美一区二区五十路 | 亚洲国产第一区二区香蕉日日 | gay 男同志被捆绑茎 | 免费免费啪视频在线观播放 | 天天干夜夜噜 | 日韩porn| 久久精品无码人妻无码AV蜜臀 | 国产码一区二区三区 | 日本视频在线免费播放 | 美式禁忌在线 | 欧美香蕉 | 全黄毛片 | 91精品91 | 蹭蹭妈妈的朋友小说 | 古装床戏做爰无遮挡三级 | 国产精品毛片高清在线完整版 | www.四虎网站 | 白发在线视频播放观看免费 | 久久天天综合 | 美女被躁了在线观看视频 | 国产成+人+综合+欧美 亚洲 | 亚洲AV无码国产精品色午夜情 | 久久精品麻豆国产天美传媒果冻 | 2021国产麻豆剧传媒剧情 | 国产播放啪视频免费视频 | 亚洲成年人在线观看 | 小小水蜜桃免费影院 | 黑人艹逼 | 色狠狠成人综合网 | 2020国产精品视频 | 成年女人毛片免费观看中文w |