springMVC异常处理总结
a.ExceptionHandlerExceptionResolver
1、@ExceptionHandler --- 统一处理一个controller中(@ExceptionHandler所在controller)的异常,局部捕获处理异常
@ExceptionHandler({ArithmeticException.class, NullPointerException.class})
public String exception(Exception e) {
System.out.println(e);
ModelAndView mv = new ModelAndView("error");
mv.addObject("error", e);
return mv;
return "error";
}
该注解作用对象为方法,并且在运行时有效;
该注解标识的方法不能有其他参数,所以前端想要获取异常信息,需要利用ModelAndView;
异常处理路径:最短路径优先。--- 如果有多个处理方法,根据异常的最近继承关系找到继承深度最浅的那个@ExceptionHandler注解方法
2、@ControllerAdvice --- 全局捕获处理异常 -- 注意spring版本,低版本可能不兼容,我一开始用的3.2.0不行,然后改成3.2.3不行,最后选择了4.3.18(我可是因为这个问题浪费了一个上午)
@ControllerAdvice
public class exceptionHandler { @ExceptionHandler(ArrayIndexOutOfBoundsException.class)
public ModelAndView arrayIndexOutOfBoundsException(ArrayIndexOutOfBoundsException e) {
System.out.println(e);
ModelAndView mv = new ModelAndView("error");
mv.addObject("error", e);
return mv;
}
}
不要忘记spring配置文件配置<mvc:annotation-driven></mvc:annotation-driven>
b.ResponseStatusExceptionResolver ----自定义异常显示页面,类似404
@ResponseStatus(value=HttpStatus.xxx,reason="自己定义")
SimpleMappingExceptionResolver --- 通过配置文件捕获异常(看教程的代码,我没有实现)
<!-- 通过SimpleMappingExceptionResolver 捕获异常 -->
<bean class="org.springframework.web.portlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.ArrayIndexOutOfBoundsException">
<!-- 跳转到error.jsp页面 -->
error
</prop>
</props>
</property>
</bean>
springMVC异常处理总结的更多相关文章
- SpringMVC异常处理机制详解[附带源码分析]
目录 前言 重要接口和类介绍 HandlerExceptionResolver接口 AbstractHandlerExceptionResolver抽象类 AbstractHandlerMethodE ...
- SpringMVC异常处理机制
SpringMVC异常处理机制 springMVC会将所有在doDispatch方法中的异常捕获,然后处理.无法处理的异常会抛出给容器处理. 在doDispatch()中调用processDispat ...
- 【SpringMVC】SpringMVC 异常处理
SpringMVC 异常处理 文章源码 异常处理思路 系统中异常包括两类:预期异常和运行时异常,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. Cont ...
- SpringMvc异常处理
SpringMvc通过HandlerExceptionResolver处理程序的异常,包括Handler映射.数据绑定.以及方法执行时发生的异常,SpringMvc提供的HandlerExceptio ...
- SpringMVC 异常处理
SpringMVC学习系列(10) 之 异常处理 在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的.那么如何保证我们处理异常的代码 ...
- SpringMVC异常处理方式
一.描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理.每个过程都单独处理异常,系统的代码耦合 ...
- SpringMVC——异常处理
Spring MVC 通过 HandlerExceptionResolver 处理程序的异常,包括 Handler 映射.数据绑定以及目标方法执行时发生的异常. SpringMVC 提供的 Handl ...
- springmvc异常处理(非注解与注解)
1.异常 程序中的异常一般分为两类:预期异常,运行时异常.前者是我们可预知的,我们一般通过捕获和抛出方式处理这些异常.后者主要通过代码规范.测试等手段来减少异常的发生.一般,我们在系统的DAO.Ser ...
- (十一)springMvc 异常处理
文章目录 思路 自定义异常处理类 全局异常处理器 配置全局异常处理器 思路 在 springMvc 中,异常一层一层的往上抛,最后抛给 前端控制器,前端控制器内部会去找 全局异常处理器(一个系统只会有 ...
- springMVC异常处理(自定义异常)HandlerExceptionResolver
注:本篇的异常主要指的是controller.service和dao层中执行方法抛出的异常. 一.为什么要处理异常? 因为如果我们不处理异常,异常信息就会直接抛出给浏览器,于是浏览器页面就直接显示异常 ...
随机推荐
- pd.dataframe和series以及np.narray的维度升降
1.第一步读入泰坦尼克号数据集 import pandas as pd data = pd.read_csv(r".\Narrativedata.csv" ,index_col=0 ...
- LocalDate使用(转)
3.Date 3.1.JDK7 Date缺点 1.所有的日期类都是可变的,因此他们都不是线程安全的,这是Java日期类最大的问题之一 2.Java的日期/时间类的定义并不一致,在java.util和j ...
- SuperSocket框架的系列博文
官方文档 http://docs.supersocket.net/v1-6/zh-CN 对于我等小白,此系列博文,受益匪浅,慢慢看 https://www.cnblogs.com/fly-bird/c ...
- maven工程的简单构建
1.按maven约定的目录结构创建文件夹 约定目录结构:不按约定的目录来建maven无法正常工作: Hello |---src |---|---main ...
- Count the Buildings ( s1 )
http://acm.hdu.edu.cn/showproblem.php?pid=4372 题意:n个房子在一条线上(n<=2000),高度分别为1~n,现在需要将房子这样放置:从最左往右能看 ...
- Confluence 6 在一个空间中查看所有附加的文件
有下面 2 种方法可以让你查看空间的所有附件.你可以: 使用 Space Attachments Macro 来在一个页面中显示列表文件. 进入空间后,然后从边栏的底部选择 空间工具(Space to ...
- zabbix监控远端主机
接着上一篇博客,zabbix监控搭建起来以后,怎么用来监控其他主机呢,这一篇就来简单讲一下,希望对大家有所帮助. 安装一些依赖包 [root@winter ~]# yum install curl c ...
- 如何在main.js中改变vuex中的值?
做登录权限控制的时候, 我通过全局路由守卫来去做权限判断,这样的话可能需要在整个项目加载的初期去做一些诸如 接口请求. vuex修改 之类的问题 其实非常简单,直接如图:
- [BZOJ2208]:[Jsoi2010]连通数(暴力 or bitset or 塔尖?)
题目传送门 题目描述 度量一个有向图连通情况的一个指标是连通数,指图中可达顶点对的个数. 在上图中,顶点1可以到达1.2.3.4.5. 顶点2可以到达2.3.4.5. 顶点3可以到达3.4.5. 顶点 ...
- 实验四《Android程序设计》实验报告封面
实验四<Android程序设计>实验报告封面 课程:Java程序设计 班级:1753班 姓名:许钰玮 学号:20175329 指导教师:娄嘉鹏 实验日期:2019年5月13日 实验时间:1 ...