Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常
来源:互联网 发布:淘宝上怎么卖点卡 编辑:程序博客网 时间:2024/06/06 17:51
方式一
1.1 创建全局异常类
该类要实现HandlerExceptionResolver接口,详细如下:
package com.rbc.hbms.util;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;/** * 捕捉全局异常并输出 * @author MoXingJian * @email 939697374@qq.com * @date 2017年8月16日 上午10:01:40 * @version 1.0 */public class GobalExceptionResolver implements HandlerExceptionResolver{@Overridepublic ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object object,Exception ex) {String message = ex.getMessage();Throwable cause = ex.getCause();System.out.println("进入全局异常");//以下信息一般存进日志,这里作为简单测试System.out.println("异常类型=" + ex.getClass().getSimpleName());System.out.println("异常描述=" + message);System.out.println("异常原因=" + cause);/** * 测试的时候可以把错误信息输出到页面,真正给客户使用的时候, * 千万不要这样做,给别人印象不好,别人以为你的系统老是出问题。 * 可以适当地提示“系统繁忙”或者“你访问的页面不存在”之类的。 */Map<String, Object> model = new HashMap<String, Object>();model.put("ex", ex);/** * 可以根据需要,不同的异常跳转到不同的页面。 * 例如,dao层异常,可以跳到“数据库异常页面”。 * service层异常,可以跳转到“业务异常页面”。 * 找不到页面异常,可以跳转到404页面。等等 */return new ModelAndView("error", model);}}
1.2 配置
在Spring配置文件中配置该类
<!-- 全局异常配置 --><bean id="GobalExceptionResolver" class="com.rbc.hbms.util.GobalExceptionResolver"/>
1.3 测试
在service层捕捉一个未做处理的异常
int i = 10/0;
效果如下:
方式二
在方式一的 基础上再优化
2.1配置访问路径
首先分别在类名和方法名写好访问路径
类名
@Controller@RequestMapping("/sysmgr/gobalExceptionResolver.action")public class GobalExceptionResolver implements HandlerExceptionResolver {
方法
@Override@RequestMapping(params = "method=resolveException")public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object object,Exception ex) {
2.2 异常捕捉
在web.xml配置,如下
<error-page> <exception-type>java.lang.Exception</exception-type> <location>/sysmgr/gobalExceptionResolver.action?method=resolveException</location> </error-page>
只要是该异常下的都会通过该路径找到。
阅读全文
0 0
- Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常
- spring boot全局异常捕捉
- spring boot 全局异常捕捉
- 关于捕捉全局异常
- springboot全局异常捕捉
- Android全局异常捕捉
- 捕捉全局异常
- SpringBoot全局异常捕捉
- 捕捉全局异常
- springboot 全局异常捕捉
- Spring Boot05 之全局异常捕捉
- spring mvc 的全局异常捕捉
- Spring Boot : 全局异常捕捉(三)
- Spring MVC 异常捕捉
- Android全局异常捕捉器
- Springboot全局异常的捕捉
- 捕捉全局异常简单篇
- Spring MVC 全局异常处理-RESTAPI接口返回统一JSON格式-自定义异常处理--404异常捕捉
- tensorflow裁剪填充指定大小图片(一)
- 小白学tkinter(Spinbox组件)
- 关于出现VirtualAlloc pointer is null导致git崩溃的解决办法
- 关于scanf与换行符的问题
- 栈
- Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常
- gluLookAt、glViewport()、glOrtho和gluPerspective参数分析
- 腾讯信鸽推送,部分手机不能接收到推送弹窗
- Oracle inner join、left join、right join 、+左边或者右边的区别
- 阿里内部分享:大数据业务平台两年发展历程-pefect,大数据的一些经验
- JavaScript 数据类型篇
- G
- MYSQL远程登录权限设置
- 如何理解vue.js组件的作用域是独立的