关于springmvc表单POST请求转化为PUT请求的解决方案

SpringMVC处理Put或Delete请求报错及解决方法 首先先贴原代码和报错提示 1.在web.xml配置文件中配置HiddenHttpMethodFilter,它的作用是能把POST请求转换为PUT或DELETE请求。 <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.spring... 阅读详情

在学习SpringMVC的时候,基于REST风格的代码在方便我们开发的同时,也带来了许多的坑。最典型的坑就是在写基于Springmvc CRUD的更新操作时,前台表单通过POST请求提交数据给后台,后台基于REST风格的代码是需要接受PUT请求的,所以不处理POST请求转变为PUT请求,后台控制器会出现null值的情况。下面总结一下将POST请求转化为PUT请求的解决方案。

1)借助HiddenHttpMethodFilter,来讲POST请求转化为PUT请求

在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>

然后在前端form表单中,只需要添加如下关键代码,即可通过HiddenHttpMethodFilter来讲POST请求转化为PUT请求,即可满足基于REST风格的URI。

<input type="hidden" name="_method" value="PUT"/>

后台代码控制器中,就可避免出现null值的问题了。

@RequestMapping(value="/xxx", method=RequestMethod.PUT)
public String update(Vo vo){
        ...
	return "xxx";
}

2)(使用jquery的ajax请求)type为post

在ajax请求中,可以这样将POST请求转化为PUT请求,这一转化过程还是要借助于HiddenHttpMethodFilter。

$.ajax({
	url:xxx,
	type:"POST",
	data:xxx+"&_method=PUT",
	success:function(result){
		xxx
	}
});	

3)(使用jquery的ajax请求)type为put

需要使用新的filter;在web.xml中添加如下filter:

<filter>
	<filter-name>HttpPutFormContentFilter</filter-name>
	<filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>HttpPutFormContentFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>
$.ajax({
	url:xxx,
	type:"PUT",
	data:xxx,
	success:function(result){
		xxx
	}
});	




STM32F103 CAN通信避坑指南:从标准库配置到收发测试的完整流程 本文详细介绍了STM32F103 CAN通信的实现流程,从标准库配置到收发测试,帮助开发者避开常见陷阱。内容涵盖硬件连接、波特率计算、过滤器配置及错误处理等关键环节,提供实用的代码示例和调试技巧,确保CAN通信的稳定性和可靠性。 阅读详情

相关推荐

【低空经济】无人机充电站设计方案

随着无人机技术的快速发展和广泛应用,其在物流、农业、巡检、救援等领域的应用日益普及。然而,无人机的续航能力一直是限制其大规模应用的关键因素之一。为了解决这一问题,无人机充电站的设计与建设显得尤为重要。本项目旨在设计一套高效、智能、可扩展的无人机充电站系统,以满足不同场景下无人机的充电需求,提升其作业效率和应用范围。无人机充电站的设计将围绕以下几个核心目标展开:首先,充电站应具备快速充电能力,以减少无人机的停机时间,提高作业效率;

2960

SpringMVC的学习2(关于Rest规范,将post转换为put、delete请求)

在写jsp form表单时,我们可以发现只有post和get请求,但是在发送请求的时候有不同的请求方式,能不能通过请求方式来做一次转换,将不一样的请求作为不一样的数据处理。 POST 新增 /user GET 获取 /user PUT 更新 /user/1 DELETE 删除 /user/1 1、Controller中,通过注解@RequestMapping在method属性添加请求方式 @RequestMapping(value =

单俞浩的博客 736

python 成语接龙-连接数据库

from xpinyin import Pinyin import pymysql while 1: conn = pymysql.connect( host='localhost', #本地连接 user='root', #数据库账户名 password='password', #数据库密码 db='dic',

Hero2902的博客 598

POST请求和PUT请求的区别

结论: PUT请求:当两次请求相同时,第二次请求会覆盖第一次,一般用来更新资源 POST请求:第二次请求不会覆盖第一次,一般用来新增资源

qq_43581202的博客 2150

Qt C++实现HTTP/HTTPS服务器与客户端:从Socket到协议解析全流程

HTTP协议作为Web通信的基础,定义了客户端与服务器之间基于文本的请求-响应模型。其工作原理是通过TCP连接传输结构化的报文,实现资源获取与数据交换。在C++开发中,掌握HTTP协议底层实现具有重要技术价值,能够帮助开发者构建高性能、可深度定制的网络应用,尤其适用于嵌入式设备管理、桌面应用后端等场景。本文聚焦于使用Qt框架的QTcpSocket和QSslSocket组件,从Socket层面手动实现完整的HTTP/HTTPS通信栈,涵盖协议解析、流式处理、路由分发等核心环节,并深入探讨了HTTPS证书验证、

weixin_31292729的博客 331

JVM高频面试基本问题与知识点整理

JVM高频面试基本问题与知识点整理

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 87万+

【JavaEE】SpringMVC中配置过滤器将POST请求转换为PUT和DELETE请求

配置SpringMVC中支持PUT请求以及DELETE请求,直接上配置,不扯理论。 <!-- spring-filter --> <filter> <filter-name>httpPutFormContentFilter</filter-name> <filter-class>org.springframework.we...

分享记录开发中的问题,欢迎一起探讨! 2787

【数据分享】1985-2023 年中国 30m 生长季 NDVI 数据集:刘小平团队力作,Landsat 无缝融合无云产品

中山大学刘小平团队发布1985-2023年中国30m分辨率生长季Landsat NDVI数据集,解决了传统数据的三大痛点:无缝拼接、时间连续和质量可靠。该数据集基于5-9月生长季Landsat影像,通过云检测、多景融合等技术生成,已在GEE平台开放共享。其高分辨率、长时序特性为植被动态监测、LUCC研究等提供重要支撑,在农业、生态保护等领域具有广泛应用价值。

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 1513

接口请求中post与put的区别

常见的接口请求方式研究。接口请求中POST和PUT的主要区别

weixin_42233867的博客 7935

化工模拟与优化软件:Aspen HYSYS二次开发_(15).工业应用与项目管理

项目背景、目标和主要流程。

kkchenjj的博客 1131

豆包手机为什么能自己“玩手机”?原理是什么?豆包手机系统运行机制深度解析:读屏、抓取、推理链路全拆解

作为一个每天被前端 Bug 打醒的程序员,我这一阵子在关注“豆包手机”这个关键词,刷到的相关视频简直铺天盖地。朋友们,说句实话,我一开始也只是抱着“看看热闹”的心态,最近一位博主下面的内容,不是“它能做什么”,而是。如果你之前看过很多评测,这篇文章会给你完全不一样的视角。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1015

为什么你应该用 PUT 请求而不是 POST 请求

为什么你应该用 PUT 请求而不是 POST 请求? - 掘金 (juejin.cn)

qq_55278081的博客 310

STM32串口控制LED灯的亮灭

STM32中的串口控制LED灯的亮灭,分为两种方式,一种是直接发送数字0和1来控制灯的亮灭,另一种是通过发送字符串来控制。 我所使用的开发板主控芯片是STM32F401RET6,主频84MHz, 首先要进行串口的初始化: /* 函数功能:串口的初始化 函数名:Usart_Init 返回值:无 参数:u32 brr 备注: USART1_TXD->PA9 USART1_RXD->PA10 */ void Usart_Init(u32 brr) { float div; u16 div

博客 2万+

在 SpringMVC 中使用表单发送 PUT|DELETE 请求

使用form表单发送PUT/DELETE请求。

weixin_53861767的博客 592

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringMVC的controller提供了PUT和DELETE的请求方式

在Restful风格中,现有规定如下: GET(SELECT):从服务器查询,可以在服务器通过请求的参数区分查询的方式。   POST(CREATE):在服务器新建一个资源,调用insert操作。   PUT(UPDATE):在服务器更新资源,调用update操作。   DELETE(DELETE):从服务器删除资源,调用delete语句 了解这个风格定义以后,我们举个例

jaryle的专栏 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

springMVC—Restful风格:get,post,delete,put请求案例

这里写目录标题RestfulHiddenHttpMethodFilteRestful使用案例delete请求(包含get请求)post请求:put请求(修改) Restful 我的代码 以下内容都是这个文档的补充 核心:请求地址URL不变,根据请求方式的不同,对操作资源的方式进行区分 get 查询 post 添加 delect 删除 put 修改 处理put和delete方法 HiddenHttpMethodFilte 配置HiddenHttpMethodFilter: <!--配置

beginner的博客 1193

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

请求处理-Rest风格映射及form表单发送put、delete请求

Rest映射是一种将HTTP请求映射到处理程序方法的机制。在Spring MVC中,Rest映射是通过@RequestMapping注解来实现的。RequestMapping注解可以用于类级别和方法级别,用于指定请求的URL和HTTP方法。在处理请求时,Spring MVC会根据请求的URL和HTTP方法来查找匹配的处理程序方法。如果找到了匹配的方法,Spring MVC会将请求参数绑定到方法的参数上,并调用该方法来处理请求。处理程序方法可以返回一个视图名称或一个响应体。

· 2602

如何将超链接(GET请求)转化为POST,PUT,DELETE请求

在SpringMVC中,编写REST风格的CRUD操作时,总共会用到四种请求,即GET,POST,PUT,DELETE。但是客户端浏览器只支持GET和POST两种i请求。因此要将POST请求转化为PUT和DELETE请求。而超链接本身是GET请求,因此首先要将GET请求转化为POST请求。 1.超链接GET转POST 首先需要引入jquery.min.js,将鼠标点击超链接的动作转化为把表单提...

weixin_42543911的博客 4075

SpringMVC中 处理Restful风格中的delete和put请求

1.RESTFUL风格的API /book POST /book/1 DELETE 可以使用HiddenHttpMethodFilter将POST请求转为DELETE请求 /book/1 PUT可以使用HiddenHttpMethodFilter将POST请求转为PUT请求 book/1 GET 2.HiddenHttpMethodFilter的使用 该类可以将POST请求转换为DELTE和PUT请求 public class HiddenHttpMethodFilter ext

u014141841的博客 1373

POST请求和GET请求如何传递和接收解析参数

1. 前言接口参数应该怎么传递是每个项目应该面对的问题,这跟编程语言无关,今天来总结一波常用的接口参数传递方式。2. GET 请求GET 请求一般用来向服务器请求获取数据。总体来说目前有...

码农小胖哥 1万+

Form表单实现提交PUT、DELETE请求(HiddenHttpMethodFilter | FormContentFilter)

在使用SPringMVC时,使用REST风格代码,让前端表单可以提交请求PUT、DELETE… 浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求,该过滤器为HiddenHttpMethodFilter。 在控制器规定不同的请求方式实现不同的业务 GET 实现查询需求 POST 实现新增需求 PUT 实现更新需求 DELETE 实

巫山♔ 2279

#表单只能发get、post请求?别瞎说,put、delete等请求也能发哦 #FormContentFilter #HiddenHttpMethodFilter @FDDLC

一、问题引入 正常而而,表单只有3种提交方式:get、post、dialog(此种较少用) post方式表单数据放在请求体,get方式表单数据放在url。 关于method="dialog",可以参考:#HTML:<dialog> #method=“dialog“ @FDDLC 问题:如何发put、delete等请求? 二、get提交、post提交的回顾 1、get提交表单数据:表单的默认提交方式 1)、表单页: 2)、controller: 3)、跳转页: ...

LiuXingchang的博客 1185

【SpringMVC】处理put和delete请求

介绍下SpringMVC是如何处理PUT和DELETE请求的方式方法,是使用了HiddenHttpMethodFilter该过滤器来实现,其中也是有需多注意事项,需要多注意

HXY19的博客 1030

get和post关于请求头中的Content-Type理解

get和post的区别,@ModelAttribute、@RequestBody和@RequestParam是Spring MVC中常用的三个注解。

一名后端程序猿 1万+

SpringMVC接收PUT请求的解决

如果直接使用PUT请求会400或405,这是因为tomcat不会解析PUT请求中的参数, 只有POST请求时会把参数解析为一个map,SpringMVC会将这个map通过request.getParameter()将参数映射到我们的实体类或参数列表 解决方式1 //在此过滤器中Spring重写了request.getParameter()使PUT请求的参数可以正确获取 <filter>...

Running的博客 2100

【SpringBoot学习】07-springboot 使用 post 转发 put 请求

发送put请求修改供应商信息 在SpringMVC中配置HiddenHttpMethodFilter(SpringBoot自动配置好了) 页面创建一个method="post"表单–> 创建一个input标签 name="_method",value=“指定请求方式” 页面: <form id="updateForm" action="#" th:action="@{/provi...

qqqking的博客 1396
上一篇: 小白篇-IDEA(IDEA 2017.2)通过Maven来整合SSM
下一篇: Ajax请求时loading加载图的实现
CoderBruis
博客等级 码龄10年 4444粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值