springmvc学习笔记(30)——ResponseStatus注解处理异常
2015-04-30 11:25
417 查看
ResponseStatus
ResponseStatus注解的使用非常简单,我们创建一个异常类,加上注解package com.zj.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; @ResponseStatus(value=HttpStatus.FORBIDDEN,reason="用户不匹配") public class UserNotMatchException extends RuntimeException{ }
ResponseStatus注解是修饰类的
它有两个属性,value属性是http状态码,比如404,500等。reason是错误信息
写一个目标方法抛出该异常
@RequestMapping("/testResponseStatus") public String testResponseStatus(int i){ if(i==0) throw new UserNotMatchException(); return "hello"; }
当传入参数i==0的时候将抛异常。下图是效果图
使用了ResponseStatus注解之后,用户看到的异常界面正是我们自己定义的异常,而不再是一大堆用户看不懂的代码。
ResponseStatus修饰方法
讲到这里,我就想呵呵以下。ResponseStatus如果修饰目标方法,将会发生什么事咧?且看:@ResponseStatus(value=HttpStatus.FORBIDDEN,reason="用户名不匹配")
@RequestMapping("/testResponseStatus") public String testResponseStatus(int i){ if(i==0) throw new UserNotMatchException(); return "hello"; }
仔细看这张结果图中的访问路径,我传入的参数是i=1,正常来说是不应该抛异常的,可是它抛了。。它真的抛了。。
结论:ResponseStatus修饰目标方法,无论它执行方法过程中有没有异常产生,用户都会得到异常的界面。而目标方法正常执行
相关文章推荐
- springmvc学习笔记(30)——SimpleMappingExceptionResolver异常映射
- springmvc学习笔记(30)——ResponseStatus注解处理异常
- springmvc学习笔记(28)——自定义拦截器
- SpringMVC学习笔记-REST风格CRUD
- springmvc学习笔记2
- dubbo学习笔记3 SpringMvc框架web形式 dubbo服务搭建 消费者
- SpringMVC学习笔记(七)
- C++学习笔记30,指针的引用(2)
- Java学习笔记(30)--抽象类 详解
- SpringMVC 学习笔记(一) Hello World
- SpringMVC 学习笔记(五) 基于RESTful的CRUD
- 学习笔记_springmvc返回值、数据写到页面、表单提交、ajax、重定向
- 31天重构学习笔记30. 尽快返回
- springmvc学习笔记(12)-springmvc注解开发之包装类型参数绑定
- springmvc学习笔记--Interceptor机制和实践
- SpringMVC学习笔记(5)-----标签库
- ES权威指南[官方文档学习笔记]-30 Indexing a document
- springmvc学习笔记——传递对象作为参数(POJO)
- SpringMVC学习笔记--相关概念介绍
- SpringMVC学习笔记——Spring MVC与Struts2的区别2