【Spring专题-⑤】Spring RESTful风格
来源:互联网 发布:沙发什么意思网络语言 编辑:程序博客网 时间:2024/06/07 20:43
声明:
内容源自网络,仅供自己复习用途。
RESTful简介
/blog/1 HTTP GET => 得到id = 1的blog/blog/1 HTTP DELETE => 删除 id = 1的blog/blog/1 HTTP PUT => 更新id = 1的blog/blog HTTP POST => 新增BLOG
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请求
$.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/>
8. 应用举例
->跳转到 类 的 方法 loginForm
@RequestMapping(value={"/loginForm"}, method=RequestMethod.POST)
public ModelAndView loginForm(HttpServletRequest request, HttpSession session){
...
校验用户名、密码
...
return new ModelAndView("redirect:/backIndex");
}
跳转到后台主页
@RequestMapping(value={"/backIndex"}, method=RequestMethod.GET)
public ModelAndView backIndex(HttpServletRequest request) {
……
return new ModelAndView("main/back_index", returnMap);
}
后台主页面
\src\main\webapp\WEB-INF\views\main\back_index.jsp
【参考列表】
http://lydia-fly.iteye.com/blog/2164573
https://my.oschina.net/u/2272916/blog/352297
SpringMVC简单构造restful, 并返回json
- 【Spring专题-⑤】Spring RESTful风格
- Spring Restful 风格示例
- Spring MVC Restful风格
- Spring RESTful风格url示例
- Spring RESTful风格url示例
- Spring RESTful风格url示例
- Spring RESTful风格url示例
- Spring RESTful风格url示例
- spring boot restful API风格
- Spring MVC 示例-注解; RESTful 风格
- CXF+spring构建restful风格的webservice
- 基于Restful风格实现Spring MVC
- Spring MVC 支持RestFul风格尝试
- Spring MVC 示例-注解; RESTful 风格
- Spring+CXF开发RESTful风格的WebService
- spring集成cxf 发布restful风格webservice
- Spring 支持 Restful风格 源码分析
- spring mvc完成restful风格的url
- Android去Title和主题Theme使用方法
- pdf格式的文件怎么修改
- C/Python实现直接选择排序
- java 值传递简单透彻理解
- SpringMVC 学习 01 - springmvc在普通类中获取HttpServletRequest对象
- 【Spring专题-⑤】Spring RESTful风格
- TCP/IP学习(2)
- hadoop原生版安装部署---2.zookeeper
- Android System Server大纲之VibratorService
- Android Studio分类整理res/Layout中的布局文件(创建子目录)
- 点击 TextView 弹出 时间设置框 DatePicker 、 DatePickerDialog,用于Sqlite db 获取数据
- thinkphp5 入门 -1 基础
- RobertNystrom的游戏编程模式-第16章
- 集合之Collections——集合的工具类