SpringMVC实现RESTful风格
2016-03-29 10:39
561 查看
RESTful简介 1,REST架构师一个抽象的概念,目前主要是基于HTTP协议实现,其目的是为了提高系统的可伸缩性,降低应用之间的耦合度,便于框架分布式处理程序。 2,REST主要对以下两方面进行了规范-定位资源的URL风格,例如 http://baidu.com/admin/1234 http://baidu.com/admin/1234/10/11-如何对资源操作 采用HTTP协议规定的GET、POST、PUT、DELETE动作处理资源的增删该查操作
3,什么是RESTful? -符合REST约束风格和原则的应用程序或设计就是RESTful. eg: /emp/1 HTTP GET 查询id=1的emp /emp/1 HTTP DELETE 删除id=1的emp,实验中直接删除会报405错误,但是采用$.ajax异步删除就没问题 /emp/1 HTTP PUT 跟新emp /emp/add HTTP POST 新增emp 4,Spring对RESTful的支持- Spring MVC 对 RESTful应用提供了以下支持- 利用@RequestMapping 指定要处理请求的URI模板和HTTP请求的动作类型- 利用@PathVariable讲URI请求模板中的变量映射到处理方法参数上- 利用Ajax,在客户端发出PUT、DELETE动作的请求 eg: @RequestMapping(value = "/{id}", method = RequestMethod.GET) public String toUpdate(@PathVariable("id") Integer id, Model model) {} 5,RequestMapping的一般应用格式。 @RequestMapping(value = "/{id}", method = RequestMethod.GET) @RequestMapping(value = "/{id}", method = RequestMethod.POST) @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) // 因为这个需要Ajax请求,所有返回的是个json @ResponseBody @RequestMapping(value = "/{id}", method = RequestMethod.PUT) 6,客户端发送PUT,DELETE请求 可以采用Ajax方式发送PUT和DELETE请求 Java代码
$.ajax( {
type : "DELETE",
url : "/spring_crud_restful/emp/deleteEmp/" + id,
dataType : "json",
success : function(data) {
alert(data);
location.href = "/spring_crud_restful/emp/listEmp/1";
}
});
7,静态资源访问处理采用RESTful架构后,需要将web.xml中控制器拦截的请求设置为/,这样会将css,js等静态资源进行拦截,发送404错误。解决方法:--配置<mvc:resources/> <mvc:resources mapping="请求URI" location="资源位置" />--配置<mvc:default-servlet-handler/> <mvc:default-servlet-handler/>
3,什么是RESTful? -符合REST约束风格和原则的应用程序或设计就是RESTful. eg: /emp/1 HTTP GET 查询id=1的emp /emp/1 HTTP DELETE 删除id=1的emp,实验中直接删除会报405错误,但是采用$.ajax异步删除就没问题 /emp/1 HTTP PUT 跟新emp /emp/add HTTP POST 新增emp 4,Spring对RESTful的支持- Spring MVC 对 RESTful应用提供了以下支持- 利用@RequestMapping 指定要处理请求的URI模板和HTTP请求的动作类型- 利用@PathVariable讲URI请求模板中的变量映射到处理方法参数上- 利用Ajax,在客户端发出PUT、DELETE动作的请求 eg: @RequestMapping(value = "/{id}", method = RequestMethod.GET) public String toUpdate(@PathVariable("id") Integer id, Model model) {} 5,RequestMapping的一般应用格式。 @RequestMapping(value = "/{id}", method = RequestMethod.GET) @RequestMapping(value = "/{id}", method = RequestMethod.POST) @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) // 因为这个需要Ajax请求,所有返回的是个json @ResponseBody @RequestMapping(value = "/{id}", method = RequestMethod.PUT) 6,客户端发送PUT,DELETE请求 可以采用Ajax方式发送PUT和DELETE请求 Java代码
$.ajax( {
type : "DELETE",
url : "/spring_crud_restful/emp/deleteEmp/" + id,
dataType : "json",
success : function(data) {
alert(data);
location.href = "/spring_crud_restful/emp/listEmp/1";
}
});
7,静态资源访问处理采用RESTful架构后,需要将web.xml中控制器拦截的请求设置为/,这样会将css,js等静态资源进行拦截,发送404错误。解决方法:--配置<mvc:resources/> <mvc:resources mapping="请求URI" location="资源位置" />--配置<mvc:default-servlet-handler/> <mvc:default-servlet-handler/>
相关文章推荐
- Java基础之容器之fail-fast机制
- SpringMVC Resetful+Hibernate+MySQL实现增删改查操作
- java事件处理机制(自定义事件)
- spring security源码分析之一springSecurityFilterChain
- Java中equals和==的区别
- Java中如何获取系统信息
- java中IP地址、主机名的获取
- 算法-java(2)
- spring多数据源配置
- JAVA 学习之标识符
- java中接口抽象类的标准案例
- java中foreach的使用格式
- Hibernate 集合属性的操作
- Eclipse配置(Mac版)
- java中Comparable接口(比较器)的使用
- java15天
- java使用poi操作Excel
- 安装JDK提示: 该项不适于在指定状态下使用的错误
- java 求数字在排序数组中出现的次数(O(logn))
- javaweb入门