兩步便可:java
一、 配置本身的 統一處理類,到xml中。web
<!-- 異常統一處理 --> <bean id="exceptionHandler" class="com.util.aop.MyExceptionHandler"/>
二、實現 統一處理 接口。ajax
package com.util.aop; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class MyExceptionHandler implements HandlerExceptionResolver { public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { ModelAndView mv = new ModelAndView(); /* 使用response返回 */ response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); //設置狀態碼500 response.setContentType(MediaType.APPLICATION_JSON_VALUE); //設置ContentType response.setCharacterEncoding("UTF-8"); //避免亂碼 response.setHeader("Cache-Control", "no-cache, must-revalidate"); JSONObject obj = new JSONObject(); obj.put("DATA", new JSONArray()); obj.put("CODE", "10001"); obj.put("MSG", ex.getMessage()); obj.put("EX", ex.toString()); try { response.getWriter().write(obj.toJSONString()); } catch (IOException e) { e.printStackTrace(); } return mv; } }
這裏附帶講一下, 對應 前臺ajax統一異常處理。 請看下一篇文章。spring