天天看點

javaweb異常提示資訊統一處理(使用springmvc,附源碼)

版權聲明:本文為部落客原創文章,轉載注明出處http://blog.csdn.net/u013142781

背景出現異常如何友好而又高效地回顯到前端呢?直接将一堆的錯誤資訊抛給使用者界面,顯然不合适。

先不考慮代碼實作,我們希望是這樣的:

(1)如果是頁面跳轉的請求,出現異常了,我們希望跳轉到一個異常顯示頁面,如下:

javaweb異常提示資訊統一處理(使用springmvc,附源碼)

當然,這裡的界面不夠美觀,但是理論是這樣的。

(2)如果是ajax請求,那麼我們,希望背景将合理的錯誤顯示傳回到ajax的回調函數裡面,如下:

将回調函數的data.errormsg列印出來:

javaweb異常提示資訊統一處理(使用springmvc,附源碼)

本執行個體使用的環境 eclipse+maven,其中maven隻是為了友善引入jar包。 

使用的技術:springmvc

下面我們直接實作handlerexceptionresolver接口,代碼如下:

上面的代碼,歸結為以下幾點: 

(1)判斷如果不是ajax請求,那麼統一跳轉到error.jsp頁面,否則傳回json資料。 

另外,需要在springmvc配置檔案添加如下配置:

下面我們直接看controller代碼:

關于controller代碼沒什麼好解釋的,下面我們直接看結果吧:

javaweb異常提示資訊統一處理(使用springmvc,附源碼)
javaweb異常提示資訊統一處理(使用springmvc,附源碼)

點選其他異常按鈕結果:

javaweb異常提示資訊統一處理(使用springmvc,附源碼)

(3)handlerexceptionresolver接口并不能處理404錯誤,這種錯誤我們再web.xml裡面添加如下配置:

然後404.jsp代碼如下:

javaweb異常提示資訊統一處理(使用springmvc,附源碼)

<a href="http://download.csdn.net/detail/u013142781/9424969">http://download.csdn.net/detail/u013142781/9424969</a>