風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
          數據加載中……

          spring mvc @ExceptionHandler 異常處理

          spring mvc 統一的異常處理,有兩種方式。
          一、exceptionResolver
          二、ExceptionHandler

          兩者不能同時配置。如果配置了第一種,則第二種無效。就因為這個原因,找了一天的問題。

          ExceptionHandler 通過注解的方式,進行配置,只需要在某個controller 中設置了這個注解,則這個controller中的所有異常都會通過這個方法進行處理。

          比如rest controller,增加一個
              @ExceptionHandler
              
          public String exp(HttpServletRequest request, Exception ex) {  
                  
                  Map map 
          = new HashMap();
                  
                  logger.error(
          "error," + UUID.randomUUID().toString(), ex);
                  request.setAttribute(
          "ex", ex);  
                  
                  String msg 
          = ex.getMessage();
                  
                  map.put(
          "success""0"); 
                  map.put(
          "msg", msg);
                  
                  String rtnjson 
          = JSONUtil.objectToJson(map);
                  
                  request.setAttribute(
          "json", rtnjson);
                  
                  
          return "json";
              }
           

          這樣,這個controler中的異常,都會由這個異常處理方法,進行統一處理,生成異常json。避免在各個方法中通過try catch 的方法,進行異常處理。

          posted on 2016-11-08 08:32 風人園 閱讀(402) 評論(0)  編輯  收藏 所屬分類: Spring

          主站蜘蛛池模板: 华池县| 拜泉县| 营山县| 平阳县| 闻喜县| 雅安市| 德惠市| 江川县| 苍南县| 龙江县| 茌平县| 水富县| 鹤庆县| 江津市| 苏尼特右旗| 永城市| 九寨沟县| 铜川市| 财经| 固镇县| 繁峙县| 洛南县| 探索| 双牌县| 平湖市| 普安县| 建宁县| 尼木县| 桐庐县| 尼勒克县| 南昌市| 会泽县| 高阳县| 惠州市| 航空| 霍州市| 涟水县| 蒲江县| 子洲县| 会宁县| 唐山市|