天天看點

《精通Spring MVC 4》——1.7 錯誤與轉碼配置

本節書摘來自異步社群《精通spring mvc 4》一書中的第1章,第1.7節,作者:【美】geoffroy warin著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

還記得在沒有添加控制器的時候,第一次啟動應用嗎?當時看到了一個有意思的“whitelabel error page”輸出。

錯誤處理要比看上去更麻煩一些,尤其是在沒有web.xml配置檔案并且希望應用能夠跨web伺服器部署時更是如此。好消息是spring boot将會處理這些事情!讓我們看一下errormvcautoconfiguration:

這段配置都做了些什麼呢?

定義了一個bean,即defaulterrorattributes,它通過特定的屬性暴露了有用的錯誤資訊,這些屬性包括狀态、錯誤碼和相關的棧跟蹤資訊。

定義了一個basicerrorcontroller bean,這是一個mvc控制器,負責展現我們所看到的錯誤頁面。

允許我們将spring boot的whitelabel錯誤頁面設定為無效,這需要将配置檔案application.properties中的error.whitelable.enabled設定為false。

我們還可以借助模闆引擎提供自己的錯誤頁面。例如,它的名字是error.html,errortemplatemissingcondition條件會對此進行檢查。

在本書後面的内容中,我們将會看到如何恰當地處理錯誤。

至于轉碼的問題,非常簡單的httpencodingautoconfiguration将會負責處理相關的事宜,這是通過提供spring的characterencodingfilter類來實作的。通過spring.http.encoding.charset配置,我們可以覆寫預設的編碼(“utf-8”),也可以通過spring.http.encoding.enabled禁用這項配置。