springmvc全局异常处理

在项目当中我们免不了会遇到一些异常,但是又不想在遇到异常时自己处理一次,那就需要们的公共异常处理类HandlerExceptionResolver 

自己编写异常处理类实现HandlerExceptionResolver 内的resolveException()方法;大致步骤如下

1:针对接口项目返回json数据

首先需要在web.xml内配置

<bean id="exceptionResolver" class="com.*.*.web.SimpleJSONExceptionResolver"/>
其次实现该异常处理类
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,  Exception ex) {
   ModelAndView mv = new ModelAndView();
           /*  使用response返回    */
   response.setStatus(HttpStatus.OK.value()); //设置状态码
   response.setContentType(""); //设置ContentType
   response.setCharacterEncoding("UTF-8"); //避免乱码
   response.setHeader("Cache-Control", "no-cache, must-revalidate");
   try {
      response.getWriter().write("{\"success\":false,\"msg\":\"" + ex.getMessage() + "\"}");
   } catch (IOException e) {
      LOGGER.error("与客户端通讯异常:"+ e.getMessage(), e);
   }

   LOGGER.debug("异常:" + ex.getMessage(), ex);
   return mv;
}
2.针对web项目
首先写mvc-web.xml
<bean id="exceptionResolver" class="com.*.*.web.SimpleJSONExceptionResolver"/>
其次异常处理类【根据业务异常进行处理,返回对应的错误页面】
web.xml

  
  
  1. <!-- web异常页面处理 -->  
  2. <error-page>  
  3.     <exception-type>java.lang.Throwable</exception-type>  
  4.     <location>/error_500</location>  
  5. </error-page>  
  6. <error-page>  
  7.     <exception-type>java.lang.Exception</exception-type>  
  8.     <location>/error_404</location>  
  9. </error-page>  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值