Spring对异常的统一处理

来源:互联网 发布:以撒的结合yum heart 编辑:程序博客网 时间:2024/04/30 16:46
第一步:package carpet.controller;


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 carpet.ResponseUtil;
import carpet.Restful;
/**
 * @author carpet
 */
public class ExceptionHandle implements HandlerExceptionResolver{


public ModelAndView resolveException(HttpServletRequest arg1, HttpServletResponse arg0, Object arg2,
Exception arg3) {
        /*  使用response返回    */  
arg0.setStatus(HttpStatus.OK.value()); //设置状态码  
arg0.setContentType(MediaType.APPLICATION_JSON_VALUE); //设置ContentType  
ResponseUtil responseUtil=new ResponseUtil();
responseUtil.setResponse(arg0);
Restful restful=new Restful();
restful.setCode(1);
restful.setMessage("{\"success\":false,\"msg\":\"" + arg3.getMessage() + "\"}");
responseUtil.rentJSON(restful);
System.err.println(arg3.getMessage());
return new ModelAndView("common/500").addObject("exception", arg3.getMessage());
}

}

在xml里面配置

    <!-- 统一异常的处理 --> 
  <bean id="exceptionResolver" class="carpet.controller.ExceptionHandle"/>

0 0