浏览器form只支持GET和POST请求,尔DELETE和PUT请求并不支持,Spring3.0开始添加了HiddenHttpMethodFilter过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT和DELETE请求。

SpringMVC发送rest风格的PUT和DELETE请求

1、配置HiddenHttpMethodFilter:在web.xml中配置HiddenHttpMethodFilter

  <filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>*</url-pattern></filter-mapping>

2、发送Post请求,并携带name=“_method”,value值为PUT或DELETE的隐藏请求域:

<form action="helloworld/1" method="post"><input name="_method" type="hidden" value="DELETE" /><input type="submit" value="delete请求测试" />
</form>     <form action="helloworld/2" method="post"><input name="_method" type="hidden" value="PUT" /><input type="submit" value="put请求测试" />
</form>         

3、控制器中使用@PathVariable注解解析请求携带的参数

package com.gisxx.handlers;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class HelloWorld {@RequestMapping(value="/helloworld/{id}",method=RequestMethod.PUT)public String testPut(@PathVariable Integer i){System.out.println("发送PUT请求:"+i);return "success";}@RequestMapping(value="/helloworld/{id}",method=RequestMethod.DELETE)public String testDelete(@PathVariable Integer i){System.out.println("发送DELETE请求:"+i);return "success";}}

@PathVariable可以将请求url中的占位符转化为方法可用的参数,这对SpringMVC向REST目标挺进发展具有里程碑意义


关注微信公众号GISXXCOM,GET更多技能

HiddenHttpMethodFilter过滤器—SpringMVC相关推荐

  1. SpringMVC拦截器与Filter过滤器

    SpringMVC拦截器与Filter过滤器 SpringMVC拦截器与Filter过滤器 Spring MVC拦截器的定义 SpringMVC拦截器的配置 SpringMVC拦截器HandlerIn ...

  2. SpringMVC基础配置及使用

    SpringMVC基础配置及使用 SpringMVC: 1.SpringMVC和Spring的关系:     软件开发的三层架构: web层[表示层.表现层]---->Service层----& ...

  3. SpringMVC的使用与requestMapper的使用

    一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.x ...

  4. 170821-关于SpringMVC的知识点

    1.SpringMVC 概述以及优势 SpringMVC和Spring的关系:  软件开发的三层架构: web层[表示层.表现层]---->Service层---->Dao[DataBas ...

  5. SpringMVC实现PUT请求上传文件

    在JQuery中,我们可以进行REST ful中delete和put的请求,但是在java EE标准中,默认只有在POST请求的时候,servlet 才会通过getparameter()方法取得请求体 ...

  6. ssm整合spring,springmvc,mybatis-day12

    一.大概构成 1.mvc :model,view,controller.mybatis的作用是处理后端的数据,和数据库进行交互.springmvc是控制层,主要获取controller和control ...

  7. 深入浅出 SpringMVC - 1

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7690973.html 前言: 本篇笔记是LZ在之前学习 SpringMVC 框架时所的记录,分 ...

  8. b站尚硅谷springmvc学习视频:springmvc文档

    文章目录 一.SpringMVC简介 (b站尚硅谷springmvc学习视频:springmvc文档) 1.什么是MVC 2.什么是SpringMVC 3.SpringMVC的特点 二.HelloWo ...

  9. 基于注解实现SpringMVC的配置文件

    1. 注解配置SpringMVC文件 使用配置类和注解代替web.xml和SpringMVC配置文件的功能 使用注解配置MVC文件时,程序中出现的各个注解 @Configuration:将当前类标识为 ...

最新文章

  1. 四川托普计算机职业学校里能拿什么快递,四川托普计算机职业学校怎么样_招生问答...
  2. 在 Windows 上像 Linux 一样使用命令
  3. oracle 让人抓狂的错误之 null值 与 无值(无结果)-开发系列(一)
  4. Linux获得命令帮助
  5. easyui 扩展验证
  6. 电气装置安装工程接地装置施工及验收规范_(册说明)电气设备安装工程
  7. 【转载】Java 对象之死
  8. 小白的入门之——汇编语言程序设计教程
  9. 【面经】Thoughtworks软开实习
  10. 基于matlab特征脸Eigenface算法的实现
  11. 在Ubuntu 12.10中安装QQ2012
  12. 人民币对美元汇率中间价报6.7969元 下调115个基点
  13. Elasticsearch嵌套式对象Nested分析
  14. Vue 按enter键实现登陆 过程
  15. 人工智能是怎么用在人脸识别上的?
  16. 0007 将英尺转换为米制单位
  17. success: function(res) {} 和 success: res = {}
  18. 免费的PHP在线解密工具源码
  19. Opencv像素值的存储及访问机制
  20. 【系统】Win To GO制作

热门文章

  1. MTK模拟器编译使用
  2. linux驱动程序文件,急,linux驱动程序是对的为什么生成不了.o驱动程序文件
  3. linux i o端口编程,linux 操作 I/O 端口
  4. python不调包实现sobel_python利用百度云接口实现车牌识别的示例
  5. linux 路由跟踪命令_云计算网络知识学习-linux网络基础
  6. 洛谷——P1914 小书童——凯撒密码
  7. 洛谷——P1887 乘积最大3
  8. Open3d之非阻塞可视化
  9. 中职计算机专业建设构想,《关于技能大赛引导中职计算机专业建设的思考原稿》...
  10. 《学习OpenCV3》第4章 图像和大型数组类型(持续更新)