https://www.cnblogs.com/caoyc/p/5635354.html

REST风格:

/user/1  get请求  获取用户

/user/1  post请求  新增用户

/user/1  put请求  更新用户

/user/1  delete请求  删除用户

在Spring mvc中如何提交put和delete请求呢?

需要在web.xml中配置一个HiddenHttpMethodFilter过滤器。该过滤器过滤post请求,如果在post请求中有一个_method参数,那么_method参数值就是请求方式。所以在jsp页面可以这样写:

<a href="user/1">GET请求</a> <!-- 默认调用user中第一个方法,即为get??? --><form action="user/1" method="post"><input type="submit" value="POST请求"/>
</form><form action="user/1" method="post"><input type="hidden" name="_method" value="PUT"><input type="submit" value="PUT请求"/>
</form><form action="user/1" method="post"><input type="hidden" name="_method" value="DELETE"><input type="submit" value="DELET请求"/>
</form>

web.xml配置过滤器:

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

控制器:

package com.proc;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 User {@RequestMapping(value="user/{id}",method=RequestMethod.GET)public String get(@PathVariable("id") Integer id){System.out.println("获取用户:"+id);return "hello";}@RequestMapping(value="user/{id}",method=RequestMethod.POST)public String post(@PathVariable("id") Integer id){System.out.println("添加用户:"+id);return "hello";}@RequestMapping(value="user/{id}",method=RequestMethod.PUT)public String put(@PathVariable("id") Integer id){System.out.println("更新用户:"+id);return "hello";}@RequestMapping(value="user/{id}",method=RequestMethod.DELETE)public String delete(@PathVariable("id") Integer id){System.out.println("删除用户:"+id);return "hello";}
}

我们一次点击GET请求、POST请求、PUT请求和DELETE请求:

获取用户:1
添加用户:1
更新用户:1
删除用户:1

总结:发出PUT请求和DELETE请求的步骤:

1、在发出请求时必须是POST请求;

2、在POST请求中添加一个名为_method的参数,其值用来指定是PUT请求还是DELETE请求;

3、配置HiddenHttpMethodFilter过滤器。该过滤器的作用是POST请求可以转换成PUT或DELETE请求。

转载于:https://www.cnblogs.com/arrows/p/10523037.html

spring mvc-REST相关推荐

  1. Java之Spring mvc详解(非原创)

    文章大纲 一.Spring mvc介绍 二.Spring mvc代码实战 三.项目源码下载 四.参考文章 一.Spring mvc介绍 1. 什么是springmvc   springmvc是spri ...

  2. spring mvc 关键接口 HandlerMapping HandlerAdapter

    HandlerMapping  Spring mvc 使用HandlerMapping来找到并保存url请求和处理函数间的mapping关系.     以DefaultAnnotationHandle ...

  3. spring mvc 控制器方法传递一些经验对象的数组

    由于该项目必须提交一个表单,其中多个对象,更好的方法是直接通过在控制器方法参数的数组. 因为Spring mvc框架在反射生成控制方法的參数对象的时候会调用这个类的getDeclaredConstru ...

  4. Spring MVC 4

    Spring MVC 4 项目文件结构 pom.xml依赖 <properties><endorsed.dir>${project.build.directory}/endor ...

  5. java注解返回不同消息,Spring MVC Controller中的一个读入和返回都是JSON的方法如何获取javax.validation注解的异常信息...

    Spring MVC Controller中的一个读入和返回都是JSON的方法怎么获取javax.validation注解的错误信息? 本帖最后由 LonelyCoder2012 于 2014-03- ...

  6. Spring MVC前后端的数据传输

    本篇文章主要介绍了Spring MVC中如何在前后端传输数据. 后端 ➡ 前端 在Spring MVC中这主要通过Model将数据从后端传送到前端,一般的写法为: @RequestMapping(va ...

  7. 番外:Spring MVC环境搭建和Mybatis配置避坑篇

    2019独角兽企业重金招聘Python工程师标准>>> web.xml引入对spring mvc的支持: spring-mvc配置spring-mvc: spring-mybatis ...

  8. spring mvc velocity 配置备忘

    2019独角兽企业重金招聘Python工程师标准>>> Spring里面最重要的概念是IOC和AOP,还有两项很重要的模块是事务和MVC,对于IOC和AOP,我们要深究其源码实现,对 ...

  9. Spring MVC配置文件的三个常用配置详解

    2019独角兽企业重金招聘Python工程师标准>>> Spring MVC项目中通常会有二个配置文件,sprng-servlet.xml和applicationContext.xm ...

  10. Spring MVC框架有哪些优点

    Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架.它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异. Spring ...

最新文章

  1. 200行代码,一行行教你自制微信机器人
  2. 广州企业“掘金”物联网蓝海
  3. 003_数据模型一览
  4. java api 英文_JAVA中英文API(在线版)
  5. 260. 只出现一次的数字 III 【位运算】
  6. Python极简入门:数据类型、条件语句、循环语句、异常处理
  7. java metrics 简书_Metrics 入门文档翻译
  8. 百度安全入选中国工业互联网安全市场研究报告推荐服务商
  9. 编译优化 | LLVM代码生成技术详解及在数据库中的应用
  10. 阿里面试官:什么样的人能在阿里晋升?
  11. java外键实体类_java – 在Embeddable类中的外键映射
  12. svg 动画_根据AI导出的SVG path制作SVG线条动画
  13. VirtualBox下安装MacOS11
  14. 多线程并发-java内存模型和计算机基础
  15. GitHub 热榜:文字识别神器,超轻量级中文 OCR!一个超级厉害的开源库
  16. wordpress数据表说明
  17. 几何画板椭圆九种画法_几何画板怎么制作椭圆定义演示动画?
  18. ISO50001认证咨询,新版标准更加强调持续改进能源绩效主要体现在以下方面
  19. php 真太阳时间修正,真太阳时查询表(建议收藏)
  20. 豆瓣电影小程序服务器,微信小程序实战:仿豆瓣电影

热门文章

  1. 2015年二级c语言真题及答案,2015年计算机二级C语言测试题及答案(4)
  2. java大string排序_java中字符串排序,String 转化为int比较大小
  3. SAP QM MB56 报表没有结果之分析与对策
  4. SAP HUM 将HU与交货单解绑
  5. 波士顿动力机器狗学会「撒尿」!拉风狗还不上街遛一遛?
  6. 智能制造业乘风破浪,工业机器人怎样勇立潮头?
  7. SAP SD基础知识之交货中的控制元素
  8. 人工智能从业者:大牛,工程师和调参狗
  9. 图灵71年前就已提出神经网络!《智能机器》再掀热议却一生未发表
  10. 「机器学习速成」分类,评估指标(TP、FP、TN、FN),ROC曲线和AUC