風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 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

          主站蜘蛛池模板: 高尔夫| 乌拉特中旗| 彭泽县| 新竹市| 贵南县| 黄平县| 讷河市| 罗田县| 名山县| 建始县| 柳州市| 和硕县| 广西| 丹凤县| 阜康市| 苗栗市| 宾川县| 庆阳市| 贺州市| 虞城县| 色达县| 虎林市| 台安县| 横山县| 德阳市| 连江县| 久治县| 横峰县| 视频| 内乡县| 阿克苏市| 民权县| 淳化县| 万全县| 郧西县| 祁东县| 罗甸县| 杂多县| 会宁县| 武安市| 额尔古纳市|