日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Spring MVC的Controller統一異常處理:HandlerExceptionResolver

Spring MVC的Controller統一異常處理:HandlerExceptionResolver

來源:程序員人生   發布時間:2015-05-05 08:37:20 閱讀次數:3086次

出現異常其實不可怕,可怕的是出現了異常,你卻不知道,也沒有進行異常處理。
Spring MVC的Controller出現異常的默許處理是響應1個500狀態碼,再把毛病信息顯示在頁面上,如果用戶看到這樣的頁面,1定會覺得你這個網站太LOW了。
要解決Controller的異常問題,固然也不能在每一個處理要求的方法中加上異常處理,那樣太繁瑣。Spring MVC提供了1個HandlerExceptionResolver接口,可用于統1異常處理。

HandlerExceptionResolver接口

public interface HandlerExceptionResolver { ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex); }

HandlerExceptionResolver接口中定義了1個resolveException方法,用于處理Controller中的異常。Exception ex參數即Controller拋出的異常。返回值類型是ModelAndView,可以通過這個返回值來設置異常時顯示的頁面。

實現HandlerExceptionResolver

HandlerExceptionResolver是1個interface,還需要定義1個實現類,來實現異常出現后的邏輯。

public class MyExceptionResolver implements HandlerExceptionResolver { private ExceptionLogDao exceptionLogDao; @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { // 異常處理,例如將異常信息存儲到數據庫 exceptionLogDao.save(ex); // 視圖顯示專門的毛病頁 ModelAndView modelAndView = new ModelAndView("errorPage"); return modelAndView; } }

上面代碼實現了HandlerExceptionResolver類的resolveException方法。出現異常時,會將異常信息存儲到數據庫,并顯示專門的毛病頁面。
固然,還有1些其他經常使用的異常處理方法,例如通過javamail將異常報警發送給相干人員。總之,出現的異常要能被相干人員看到,這樣才能不斷完善代碼。

配置

最后,還需要將自己的HandlerExceptionResolver實現類配置到Spring配置文件中,或加上@Component注解。

<bean class="com.xxg.MyExceptionResolver" />

至此,MyExceptionResolver就能夠處理Controller拋出的異常了。

相干問題

HandlerExceptionResolver能處理哪些異常?

HandlerExceptionResolver只能處理所有的Exception,也就是HTTP狀態碼是500的異常,不能處理404、400等其他狀態碼對應的問題。

HandlerExceptionResolver和web.xml中配置的error-page會有沖突嗎?

web.xml中配置error-page一樣是配置出現毛病時顯示的頁面:

<error-page> <error-code>500</error-code> <location>/500.jsp</location> </error-page>

如果resolveException返回了ModelAndView,會優先根據返回值中的頁面來顯示。不過,resolveException可以返回null,此時則展現web.xml中的error-page的500狀態碼配置的頁面。
當web.xml中有相應的error-page配置,則可以在實現resolveException方法時返回null。
API文檔中對返回值的解釋:

return a corresponding ModelAndView to forward to, or null for default processing.

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 91精品国产综合久久久久 | 欧美手机在线观看 | 久久成人亚洲 | 手机看片国产日韩 | 国产精品hongkong在线 | 欧美在线不卡视频 | 欧美在线视频网站 | 亚洲精品乱码久久久久久按摩观 | 91在线播放综合 | 欧美日韩1区2区3区 麻豆视频观看 | 毛片毛片毛片毛片毛片毛片 | 欧美日韩精品一区二区三区四区 | 欧美日韩不卡视频 | 国产免费av电影 | 99re在线视频免费观看 | 国产不卡在线视频 | 日本免费中文字幕 | 欧美日韩在线看 | 99精品免费久久久久久久久 | 麻豆网| 亚洲国产精品va在线看黑人动漫 | 台湾av在线播放 | 欧美一区在线视频 | 久久久国产一区二区三区 | 欧美成人性生活视频 | 久久精品99国产精品日本 | 九色国产 | 精品少妇一区二区三区免费观看 | 国产精品综合一区二区 | 日韩三级在线 | 午夜精品久久久久 | 综合亚洲色图 | 成人免费一区二区三区视频网站 | 国产精品网站视频 | 日韩二区 | 久久久99国产精品免费 | 久久国产精品免费视频 | 国产日产久久高清欧美一区 | 亚洲国产日韩精品 | 午夜一二三区 | 美女视频一区二区三区 |