Spring MVC 全局異常處理(1) --SimpleMappingExceptionResolver

咱們常常會遇到一些設計的很差的應用,當出現一些未知異常時,就顯示一個打印着錯誤堆棧的網頁。看到這些錯誤堆棧信息每每用戶都會一頭霧水,咱們會抱怨這個設計實在太不友好了。並且錯誤堆棧信息因爲暴露了後臺方法的調用關係,對應用來講這是有必定潛在風險的。雖然在web.xml中能夠配置處理異常的jsp頁面,但這個仍是遠遠不夠的。SpringMVC對錯誤處理提供了更好的解決方案。web

在SpingMVC的web應用中,有兩種處理異常的方法。一種是使用HandlerExceptionResolver接口;一種是在Controller類內部使用@ExceptionHandler註解。使用HandlerExceptionResolver接口能夠實現全局異常控制,而且SpringMVC提供了一個默認的實現類SimpleMappingExceptionResolver。今天小博老師就給你們介紹一下該類的使用方法。spring

好比,咱們應用中定義了一個異常類BwfException,咱們但願不管何時出現該異常就跳轉到預約義的頁面:/WEB-INF/views/error/BwfExceptionView.jsp。那麼spring的配置文件的寫法以下所示:app

defaultErrorView:定義默認的異常處理頁面,當該沒有註冊對應的異常類型處理時使用。jsp

exceptionAttribute:定義異常處理頁面用來獲取異常對象的變量名,若是不設置,默認名爲exception。設計

exceptionMappings:定義須要處理的異常,用類名或徹底路徑名做爲key,異常頁面名做爲value。code

注意:配置的異常界面均只包括主文件名,文件路徑和後綴已經在viewResolver中指定。xml

相關文章
相關標籤/搜索