首页 > 其他分享 >解决Spring MVC中put和delete请求不能获取到前端页面传来数据的问题

解决Spring MVC中put和delete请求不能获取到前端页面传来数据的问题

时间:2022-08-24 22:02:11浏览次数:145  
标签:web 请求 Spring 表单 json MVC put delete

springMVC中的非简单请求

在发请求加入data字段
$(function () {
$("#btnPost").click(function () {
$.ajax({
url: "/restful/request/100",
type: "post",
data:"name=wei&age=21",
dataType: "json",
success: function (json) {
$("#message").text(json.message+":"+json.id);
}
})
})

发现post能正常获取到前端传过来的数据,put请求则不能。why?
涉及到一个历史问题,作为最早的SpringMVC当然是为我们网页服务的,默认网页在表单提交的时候只支持post和get这两种请求,对于put和delete这两种特殊请求是不支持的。但是随着技术的演进,put和delete作为Spring MVC是必须要考虑的。但SpringMvc又不能把put和delete请求的处理方式强塞进原有的代码中,所以SpringMVC做了一个折中的方案:作为put和delete这两种非简单请求,springMVC提供了一个额外的表单内容过滤器来对put和delete进行额外处理。具体写法是:在web.xml中配置表单内容过滤器 见下文

在web.xml添加表单内容过滤器
<filter>
<!--表单内容过滤器 (利用这个过滤器对put和delete请求进行支持)就能支持参数的获取-->
<filter-name>formContentFilter</filter-name>
<filter-class>org.springframework.web.filter.FormContentFilter</filter-class>
</filter>
<!--要增加filter mapping对url进行过滤 (默认对所有请求地址进行过滤)-->
<filter-mapping>
<filter-name>formContentFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

标签:web,请求,Spring,表单,json,MVC,put,delete
From: https://www.cnblogs.com/wei-7/p/16622427.html

相关文章

  • Spring 源码学习笔记10——Spring AOP
    Spring源码学习笔记10——SpringAOP参考书籍《Spring技术内幕》SpringAOP的实现章节书有点老,但是里面一些概念还是总结比较到位源码基于Spring-aop5.3.22可能和旧......
  • DataInput
    DataInput /**Copyright(c)1995,2013,Oracleand/oritsaffiliates.Allrightsreserved.*ORACLEPROPRIETARY/CONFIDENTIAL.Useissubjecttolicense......
  • 文本:setText([i, ]text)与input([i, ]text)
    setText([i,]text)不加参数i则会把所有输入框的文本都置为text。它是输入文本:把输入框的文本重新设置不加参数i则会把所有输入框的文本都置为text。为text,而不会在原来的......
  • (十二)MVCC
    MVCC:多版本并发控制技术。保存数据的历史版本。这样我们就可以通过比较版本号决定数据是否显示出来。InnoDB中的RC和RR隔离事务是基于多版本并发控制(MVCC)实现高性能事务。......
  • SpringBoot Excel导入导出
    一、引入pom.xml依赖<!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version><......
  • SpringBoot使用RabbitMq实现队列和延时队列
    闲来无事看了看RabbitMq的队列,总结了一些队列的实现方法,当然,免不了各种看别人的博客哈哈哈其中延时队列有两种方式,一种是使用TTl+死信队列实现,一种是直接用RabbitMq的官方......
  • SpringMVC、MVC、JavaBean、表述层、三层架构
    来源:BV1Ry4y1574R?p=3、BV1Ry4y1574R?p=4SpringMVC是Spring的MVC模块,也就是来实现Web功能的模块。Spring里面包含有很多的模块,比如说SpringFramework是它的......
  • Spring bean 的生命周期
    bean定义:在配置文件里面用来进行定义。bean初始化:有两种方式初始化:1.在配置文件中通过指定init-method属性来完成2.实现org.springframwork......
  • Spring Boot +Mybatis plus多数据源实践
    随着业务及客户的不断壮大,单数据库已经不足以支撑程序业务的完美运行(响应快、高吞吐),所以数据库往往都会进行分表分库/读写分离,那么问题来了,分库后程序如何从不同URL......
  • SpringMVC 常用注解
    @requestMapping用于请求url映射。 @RequestBody注解实现接收http请求的json数据,将json数据转换为java对象。 @ResponseBody注解实现将controller方......