springmvc 异常处理器
来源:互联网 发布:月球发现二战飞机知乎 编辑:程序博客网 时间:2024/06/17 15:36
本文是参照使用springMVC进行统一的异常处理
- 简介
- 实现接口接口:HandlerExceptionResolver
- 3、使用@ExceptionHandler进行处理
1、简介
springMVC提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,另一种是使用注解的方式实现一个专门用于处理异常的ExceptionHandler。
2、实现接口接口:HandlerExceptionResolver
实现自己的HandlerExceptionResolver,HandlerExceptionResolver是一个接口,springMVC本身已经对其有了一个自身的实现
public class ExceptionResolver implements HandlerExceptionResolver { /** * 处理异常 */ @Override public ModelAndView resolveException(HttpServletRequest req,HttpServletResponse resp, Object obj, Exception exception) { return new ModelAndView(ConstantUtil.ERRORURL); //return null; }}
上述的resolveException的第4个参数表示对哪种类型的异常进行处理,如果想同时对多种异常进行处理,可以把它换成一个异常数组。
定义了这样一个异常处理器之后就要在spring-beans.xml中定义这样一个bean对象,如:
<bean id="exceptionResolver" class="cn.tm.common.event.listener.ExceptionResolver"/>
3、使用@ExceptionHandler进行处理
使用@ExceptionHandler进行处理有一个不好的地方是进行异常处理的方法必须与出错的方法在同一个Controller里面
如:
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RequestMapping; import com.tiantian.blog.web.servlet.MyException; @Controller public class GlobalController { /** * 用于处理异常的 * @return */ @ExceptionHandler({MyException.class}) public String exception(MyException e) { System.out.println(e.getMessage()); e.printStackTrace(); return "exception"; } @RequestMapping("test") public void test() { throw new MyException("出错了!"); } }
这里在页面上访问test方法的时候就会报错,而拥有该test方法的Controller又拥有一个处理该异常的方法,这个时候处理异常的方法就会被调用。
当发生异常的时候,上述两种方式都使用了的时候,第一种方式会将第二种方式覆盖。
0 0
- springmvc 异常处理器
- SpringMVC全局异常处理器
- SpringMVC学习--异常处理器
- springmvc自定义异常处理器
- SpringMVC全局异常处理器
- Springmvc全局异常处理器
- 有关SpringMVC全局异常处理器
- SpringMVC教程--异常处理器详解
- SpringMvc中的统一异常处理器
- SpringMvc全局异常处理器配置
- SpringMVC基础-6-异常处理器
- springmvc学习之异常处理器
- 【SpringMVC学习05】SpringMVC中的异常处理器
- springmvc异常处理-全局异常处理器开发
- 【SpringMVC整合MyBatis】springmvc异常处理-全局异常处理器开发
- 【SpringMVC整合MyBatis】springmvc异常处理-全局异常处理器开发
- springmvc+mybatis项目中的统一异常处理器
- springmvc学习笔记(16)-异常处理器
- how openstack console works
- Teamcenter PSM(五)
- 求解最大子序列算法及比较
- Eclipse中部署项目到Tomcat的方法
- Java语言编写简单的QQ登录界面
- springmvc 异常处理器
- 神经网络识别车牌字符
- 《开源框架那点事儿23》:采用TinyDB组件方式开发
- Mysql出现 “ERROR 1062” 的解决方法
- StringBuffer 实现语句反转
- 面试准备
- mysql--基础知识总结 数据库,数据表基本
- wordpress模板调用函数get_template_part()
- 【WS】在tomcat中部署WEB SERVICE