使用springMVC框架时,因为前台的请求有些是ajax,有些是请求一个页面.而如果这些请求执行过程中有异常没有catch,会向前台页面抛出.url响应为500,可能也会将异常信息抛到前台,这既不安全也不规范.
使用如下方式即可完美解决.既可以在后台记录错误的堆栈log.对前端的ajax请求或页面请求,都可以有比较好的响应处理.
<!-- 全局异常处理.--> <bean id="exceptionHandler" class="com.novelbio.web.handler.ExceptionHandler"/>
异常处理类
package com.novelbio.web.handler; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.shiro.web.util.WebUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver; /** * 全局异常处理类.对后台直接抛往前台页面的异常进行封装处理. * * @author fans.fan *@date 2015年12月4日 */ public class ExceptionHandler extends SimpleMappingExceptionResolver { private static final Logger logger = LoggerFactory.getLogger(ExceptionHandler.class); @Override protected ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { ModelAndView modelAndView = super.doResolveException(request, response, handler, ex); String url = WebUtils.getPathWithinApplication(request); logger.error("controller error.url=" + url, ex); if (modelAndView == null) { modelAndView = new ModelAndView("/error/error"); modelAndView.addObject("error."); } return modelAndView; } }
相关推荐
springmvc返回json的全局异常统一处理demo,有问题可以留言。
Springboot全局异常处理demo 项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统的...
采用springmvc+mybatis,搭建部分大致跟网上其他资料差不多,唯一不同的加入了统一错误处理,为了方便开发人员开发,所有错误码用一张表存在数据库中,然后由应用将整表缓存,缓存采用的spring自带的cache,开发中...
绝对的物超所值, spring,springmvc,hibernate,jpa2,ehcache,activemq,redis,全局异常拦截统一处理,附件上传下载,史上最全的代码基础框架集成等。
对各种不同异常进行了全局统一处理 使用lombok简化java代码,让源码更简洁,可读性高 mybatis未进行二次封装,原滋原味,简单sql采用注解,复杂sql采用Mapper.xml配置 使用了layui的弹出层、菜单、文件上传、富...
本项目使用了SpringBoot集成SSM,为所有Spring开发者更快的入门, 开箱即用,提供各种默认...SpringMVC是控制层 ,内置了全局异常捕捉功能,出现异常时可统一进行处理, 在实体类方面使用的是lombok简化冗余代码。
● 通过SpringMvc全局异常控制实现系统统一异常处理,其中包括页面信息异常展示与Json异常数据控制; ● 采用Mybatis和二次BaseDao封装完成持久层基本crud操作,提高系统开发效率; ● 通过AOP、自定义注解和...
主要功能: ... ... 根据课程类型随机抽取数据库中的考试题库并显示试题 在考试过程中会有计时功能,时间到了之后自动交卷 在考生提交试卷后实现自动阅卷功能,并...使用SpringMVC提供的全局异常处理器进行统一异常处理。
OnlineExamSystem 基于SSM框架开发的一款在线考试系统 (如果觉得有用的,欢迎Star,感谢~) 功能 ... ... 根据课程类型随机抽取数据库中的考试题库并显示试题 ...使用SpringMVC提供的全局异常处理器进行统一异常处理。
# OnlineExamSystem 基于SSM框架开发的一款在线考试系统 项目简介: 前端框架使用的主要是easyui和jquery 后端框架使用的主要是Spring、SpringMVC、...使用SpringMVC提供的全局异常处理器进行统一异常处理。
01. 采用后台及前台的 Spring + ... 通过自定义处理器 ExceptionIntercept 实现 Spring mvc的全局异常捕获 10. 系统中包含了企业中采用的开发工具类的集合 11. AbstractDao 父类实现了Dao中针对单个对象的常用操作
SSM框架整合(Spring,SpringMVC,MyBatis)1.I18国际化.2.404异常统一跳转3.全局统一异常处理.4.JSR303(Hibernate-validate校验)
系统地讲解了如何构建一个日常生产环境...10. 页面统一的js key-value单例模式写法,每个页面生成一个唯一的全局变量,提高js的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码
6.2使用AOP统一处理Web请求日志 32 6.3Spring Boot集成lombok让代码更简洁 33 七、 缓存支持 35 7.1注解配置与EhCache使用 35 7.2使用Redis集成缓存 37 八、 热部署 37 8.1 什么是热部署 37 8.2 项目演示案例...
提供统一的异常处理机制 提供access_token自动更新机制 请求消息组装 灵活的响应消息类型 二、快速入门 本章教材提供一个最简单的例子,用户在微信公众号发一条foo的文本请求消息,公众号响应一条bar的文本响应消息...