springmvc-5,HiddenHttpMethodFilter过滤器的作用
来源:互联网 发布:决战武林进阶数据地煞 编辑:程序博客网 时间:2024/04/29 10:13
REST
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
简单具体的例子就是在http协议里面,GET,POST,PUT,SELETE这个四个动词对应基本的 操作,GET标识获取资源,POST表示新建资源,PUT表示更新资源,DELETE表示删除资源。
例如: /order/1
HTTP GET请求表示删除id为1的订单
/order
HTTP POST请求表示新创建一个订单
/order/1
HTTP PUT请求表示更新id为1的订单
/order/1
HTTP DELETE请求表示删除id为1的订单
HiddenHttpMethodFilter
对于REST风格的URL来说,问题在于如何发送PUT和DELETE请求,form表单支持GET和POST的请求,在springmvc里可以通过HiddenHttpMethodFilter将一个POST请求转换为PUT或者DELETE请求
使用HiddenHttpMethodFilter
首先在web.xml文件中添加HiddenHttpMethodFilter过滤器
发送一个POST请求,并且包含一个隐藏域,name=_method,value为PUT或者DELETE
例如:
/** * 对应REST的风格URL的一组CRUD处理器 */ @RequestMapping(value = "/testRESTGET/{id}", method = RequestMethod.GET) public String testRESTGET(@PathVariable("id") Integer id) { System.out.println("testREST GET:" + id); return "success"; } @RequestMapping(value = "/testRESTPOST", method = RequestMethod.POST) public String testRESTPOST() { System.out.println("testREST POST:"); return "success"; } @RequestMapping(value = "/testRESTPUT/{id}", method = RequestMethod.PUT) public String testRESTPUT(@PathVariable("id") Integer id) { System.out.println("testREST PUT:" + id); return "success"; } @RequestMapping(value = "/testRESTDELETE/{id}", method = RequestMethod.DELETE) public String testRESTDELET(@PathVariable("id") Integer id) { System.out.println("testREST DELETE:" + id); return "success"; }
访问这些的表单:
<a href="AAA//testRESTGET/1">testRESTGET </a> <br /> <br /> <form action="AAA//testRESTPOST" method="post"> <input type="submit" value="testRESTPOST" /> </form> <br /> <br /> <form action="AAA//testRESTPUT/1" method="post"> <input type="hidden" name="_method" value="PUT"> <input type="submit" value="testRESTPUT" /> </form> <br /> <br /> <form action="AAA//testRESTDELETE/1" method="post"> <input type="hidden" name="_method" value="DELETE"> <input type="submit" value="testRESTDELETE" /> </form>
所以说呢,HiddenHttpMethodFilter这个过滤器的主要作用就是,将浏览器传过来的请求转换为PUT或者DELETE
0 0
- springmvc-5,HiddenHttpMethodFilter过滤器的作用
- 每日一则JavaWeb---SpringMVC的HiddenHttpMethodFilter过滤器
- SpringMVC之HiddenHttpMethodFilter 过滤器
- SpringMVC 过滤器HiddenHttpMethodFilter
- HiddenHttpMethodFilter过滤器—SpringMVC
- springMVC------Rest风格,HiddenHttpMethodFilter的作用
- SpringMVC HiddenHttpMethodFilter的使用
- SpringMVC-HiddenHttpMethodFilter
- springmvc HiddenHttpMethodFilter
- springMVC笔记系列(7)——HiddenHttpMethodFilter过滤器
- SpringMVC学习(三)-HiddenHttpMethodFilter过滤器&RequestParam注解&CookieValue注解
- Spring MVC过滤器-HiddenHttpMethodFilter
- Spring MVC过滤器-HiddenHttpMethodFilter
- Spring MVC过滤器-HiddenHttpMethodFilter
- Spring MVC过滤器-HiddenHttpMethodFilter
- Spring MVC过滤器-HiddenHttpMethodFilter
- Spring MVC过滤器-HiddenHttpMethodFilter
- Spring MVC过滤器-HiddenHttpMethodFilter
- 多种方法实现自适应布局
- maven 想到哪里就写到哪里
- POJ 1098 Robots 笔记
- nginx负载分发,cookie滞粘策略配置,sticky第三方模块追加
- 认识HTML5的WebSocket
- springmvc-5,HiddenHttpMethodFilter过滤器的作用
- 关于enum in android的一篇好帖子
- [leetcode:python]67.Add Binary
- 智能指针之scopedptr
- 内核态和用户态
- hexo+github快速搭建个人博客
- js变量、数组、对象
- STM32CubeMX生成基于Eclipse的GCC工程(二)(移植FreeRTOS操作系统)
- Android开发中对于适时进行网络状态的获取