项目异常统一处理-spring+springmvc
2016-09-28 17:02
309 查看
pom.xml jar包版本:
springcontext中加载:
实现类:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency>
springcontext中加载:
<!--异常统一处理类,统一跳转到error页面 --> <bean id="lgCenterExceptionHandler" class="com.xx.xx.web.filter.LgCenterExceptionHandler"></bean>
实现类:
package com.xx.xx.web.filter; import com.xx.xx.common.BusinessException; import com.xx.lgcenter.web.common.constant.LgCenterConstants; import org.apache.shiro.SecurityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; /** * 异常统一处理 * Created by xx. */ public class LgCenterExceptionHandler implements HandlerExceptionResolver { private static final Logger LOGGER= LoggerFactory.getLogger(LgCenterExceptionHandler.class); @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { LOGGER.error("Catch Exception:",ex);//捕捉漏网的异常日志 if(ex instanceof BusinessException){ //设置编码 response.setStatus(500); response.setCharacterEncoding("UTF-8"); //服务器响应类型 response.setContentType("text/html"); //获得输出流 PrintWriter out = null; try { out = response.getWriter(); } catch (IOException e) { LOGGER.error("Catch Exception:",e);//捕捉漏网的异常日志 out.print("捕获业务异常时,发生IO异常"); out.close(); } out.print(ex.getMessage()); out.close(); } // 放入异常信息 Map<String, Object> model = new HashMap<String, Object>(); model.put("ex", ex); // 可以根据不同的异常(ex)类型跳转到不同页面,便于以后扩展 return new ModelAndView("/error/error2", model); } }
相关文章推荐
- spring/springmvc中的统一处理异常方式
- springMVC+shiro的权限管理和异常统一处理
- STS创建Spring Boot项目实战(Rest接口、数据库、用户认证、分布式Token JWT、Redis操作、日志和统一异常处理)
- STS创建Spring Boot项目实战(Rest接口、数据库、用户认证、分布式Token JWT、Redis操作、日志和统一异常处理)
- springmvc+mybatis项目中的统一异常处理器
- springmvc controller 统一异常处理
- @controllerAdvice 统一处理异常(spring-mvc)
- springmvc+mybatis项目中的统一异常处理器
- springMvc、Spring项目异常处理和Log4j的配置(转)
- MVC 增加统一异常处理机制
- 使用Spring实现异常统一处理【一】
- springmvc+mybatis 的异常处理
- 使用Spring实现异常统一处理【三】--java.lang.IllegalStateException: STREAM问题的解决
- MVC 使用HandleErrorAttribute统一处理异常
- 使用Spring实现异常统一处理【四】--error-page中对异常进行log
- 使用Spring中的ExceptionHandlerExceptionResolver进行统一的异常处理
- 使用Spring MVC HandlerExceptionResolver处理异常
- 使用Spring MVC HandlerExceptionResolver处理异常
- Spring 3.1.1使用Mvc配置全局日期转换器,处理日期转换异常
- 在springMVC+mybatis+Ajax+JSON+jQuery easyui的项目中,自定义全局异常处理器