2015-04-18 23 views
0

我正在使用Tomcat + Spring構建一個Web應用程序,我想定製包含動態內容的404頁面,而不僅僅是一個靜態html文件。例如,如果我在博客網站上工作,我可能想要顯示404頁面上最近發佈的5篇帖子的列表,以指導用戶查看實際內容。如何在自定義Tomcat 404頁面上填充動態信息?

此外,有沒有一種方法可以在生成錯誤頁面時利用錯誤信息?例如,如果錯誤涉及我的應用程序中發生的異常,而不是錯誤的url,我可以顯示堆棧跟蹤嗎?

回答

0

您是從頭開始創建項目嗎?你能夠使用Spring-Boot嗎? Spring Boot提供了很多很好的錯誤處理功能,可以輕鬆修改。

無論哪種方式,如果你只是想使用在web.xml標準錯誤頁面映射,或例如:

<error-page> 
    <error-code>404</error-code> 
    <location>/error/404</location> 
</error-page> 

當你的應用程序返回404個狀態碼,請求將被截取和內部轉發到端點/error/404 - 這可能只是您的Spring應用程序中的任何端點,所以可以執行任何動態的東西,你會在一個正常的控制器。

以編程方式執行此操作,如果沒有Spring Boot,您可以創建一個Filter類來封裝所有請求,並捕獲異常並檢查非2XX響應代碼並正確轉發/處理 - 這基本上是Spring Boot的解決方案實現(請參閱ErrorPageFilter類)。

要訪問有關異常的信息,可以從請求中訪問 - 請參閱這裏獲取類似的答案:https://stackoverflow.com/a/1034667/258813

相關問題