如何使用Spring MVC顯示自訂的404 Not Found頁面
這篇文章帶給大家的內容是關於如何使用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中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

First,checkiftheFnkeysettingisinterferingbytryingboththevolumekeyaloneandFn volumekey,thentoggleFnLockwithFn Escifavailable.2.EnterBIOS/UEFIduringbootandenablefunctionkeysordisableHotkeyModetoensurevolumekeysarerecognized.3.Updateorreinstallaudiodriv

Python的logging模塊可通過FileHandler將日誌寫入文件,首先調用basicConfig配置文件處理器和格式,如設置level為INFO、使用FileHandler寫入app.log;其次可添加StreamHandler實現同時輸出到控制台;進階場景可用TimedRotatingFileHandler按時間分割日誌,例如設置when='midnight'實現每日生成新文件並保留7天備份,需確保日誌目錄存在;建議使用getLogger(__name__)創建命名logger,生產

在JupyterNotebook中使用PandasStyling可實現DataFrame的美觀展示,1.使用highlight_max和highlight_min高亮每列最大值(綠色)和最小值(紅色);2.通過background_gradient為數值列添加漸變背景色(如Blues或Reds)以直觀顯示數據大小;3.自定義函數color_score結合applymap為不同分數區間設置文字顏色(≥90綠色,80~89橙色,60~79紅色,

使用.equals()方法比較字符串內容,因為==僅比較對象引用而非內容;1.使用.equals()比較字符串值是否相等;2.使用.equalsIgnoreCase()進行忽略大小寫的比較;3.使用.compareTo()按字典順序比較字符串,返回0、負數或正數;4.使用.compareToIgnoreCase()進行忽略大小寫的字典序比較;5.使用Objects.equals()或安全調用方式處理null字符串,避免空指針異常。總之,應避免使用==進行字符串內容比較,除非明確需要檢查對像是否相

使用String.join()(Java8 )是連接字符串數組最簡單推薦的方法,直接指定分隔符即可;2.對於舊版本Java或需要更多控制時,可使用StringBuilder手動遍歷並拼接;3.StringJoiner適用於需要前綴、後綴等更靈活格式的場景;4.使用Arrays.stream()結合Collectors.joining()適合在連接前對數組進行過濾或轉換等操作;綜上所述,若使用Java8及以上版本,大多數情況下應首選String.join()方法,語法簡潔易讀,而對於復雜邏輯則推薦

TypeScript的高級條件類型通過TextendsU?X:Y語法實現類型間的邏輯判斷,其核心能力體現在分佈式條件類型、infer類型推斷和復雜類型工具的構建。 1.條件類型在裸類型參數上具有分佈性,能自動對聯合類型拆分處理,如ToArray得到string[]|number[]。 2.利用分佈性可構建過濾與提取工具:Exclude通過TextendsU?never:T排除類型,Extract通過TextendsU?T:never提取共性,NonNullable過濾null/undefined。 3

computed有緩存,依賴不變時多次訪問不重新計算,而methods每次調用都執行;2.computed適用於基於響應式數據的計算,methods適合需要參數或頻繁調用但結果不依賴響應式數據的場景;3.computed支持getter和setter,可實現數據的雙向同步,methods不支持;4.總結:優先使用computed以提升性能,當需要傳參、執行操作或避免緩存時使用methods,遵循“能用computed就不用methods”的原則。
