springMVC中@RequestParam和@RequestBody的作用
@RequestParam和@RequestBody是什么区别,估计很多人还是不太清楚,
因为一般用@ RequestParam就足够传入参数了,要说他们区别,就需要知道contentType是什么?
Content-Type: 默认为 application/x-www-form-urlencoded编码的内容,提交方式可以是GET、POST
1.@RequestParam
GET、POST:一般处理得是Content-Type:
application/x-www-form-urlencoded
multipart/form-data
其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理
PUT:
根据request header Content-Type的值来判断:
application/x-www-form-urlencoded可以;
multipart/form-data, 不能处理;
其他格式可以;
@RequestBody这个一般处理的是在ajax请求中声明contentType: "application/json; charset=utf-8"时候。也就是json数据或者xml
@RequestParam这个一般就是在ajax里面没有声明contentType的时候,为默认的。。。urlencode格式时,用这个
@ReqeustBody:
常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,
好比:application/json或者是application/xml等,常常用来其来处理application/json类型
注意:@requestBody接收的是前端传过来的json字符串,而不是对象
@ResponseBody:
用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端.
注意:不一定只能传递字符串,若有对应的java类,springMVC会自动帮忙转换成符合要求的数据格式(json/xml)
springMVC中@RequestParam和@RequestBody的作用的更多相关文章
- springMVC中@RequestParam和@RequestBody注解的用法
springMVC中@RequestParam注解用在Controller层获解析.提取参数,当然你也可以用request.getParameter("name")来获取参数,而@ ...
- springMVC中 @RequestParam和@RequestBody的区别
首先,不可以同时传进@RequestParam和@RequestBody,好像可以传进两个@RequestParam 如果不加@requestparam修饰,相当于 加上@requestparam且各 ...
- SpringMVC中@RequestParam注解作用
1.不使用@RequestParam 请求参数名必须和形参名称一样 2.使用@RequestParam 请求参数名必须和@RequestParam value属性值一样 请求参数名不必和 ...
- Springmvc中@RequestParam传值中文乱码解决方案
首先jsp表单里面有一些参数要传到controller中,通过以下方法接收: @RequestMapping(value="/orderPaper") public ModelAn ...
- springmvc中RedirectAttributes、SessionFlashMapManager的作用
RedirectAttributes 在重定向的时候可以传参,不能跨站传参,因为参数是保存在服务器端Session中SessionFlashMapManager 是RedirectAttributes ...
- Springmvc中@RequestParam传值中文乱码解决方案(转)
@RequestMapping(value={"/list"},method=RequestMethod.GET) @ResponseBody public DeviceList ...
- SpringMVC中post请求参数注解@requestBody使用问题
一.httpClient发送Post 原文https://www.cnblogs.com/Vdiao/p/5339487.html public static String httpPostWithJ ...
- SpringMVC中注解@RequestBody和@ResponseBody的使用区别
首先上源码 在面试时经常会问到我们如何使用SpringMVC将Http请求转换为java对象,或者又是问如何将结果转换为java的呢? SpringMVC在接收到请求之后HandlerMapping像 ...
- SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法
1.SpringMVC中通过@ResponseBody.@RequestParam默认值,@PathVariable的用法 package com.kuman.cartoon.controller.f ...
随机推荐
- vue组件详解——使用props传递数据
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 ...
- 什么是JWT
根据维基百科的定义,JSON WEB Token(JWT,读作 [/dʒɒt/]),是一种基于JSON的.用于在网络上声明某种主张的令牌(token).JWT通常由三部分组成: 头信息(header) ...
- 當 Alexa 遇上 ESP8266 (一)
https://www.birdandgua.net/bird/2017/12/when_alexa_meets_esp8266-1/ 去年的 AWS 的 re:Invent 上,我見識了 Alexa ...
- springboot获取applicationcontext
使用springboot之前,我们通过ClassPathXmlApplicationContext加载spring xml配置文件来获取applicationcontext,使用springboot后 ...
- NOIP2018初赛游记
NOIP2018初赛游记 (编辑中)
- Windows安裝PHP環境
Windows安裝PHP環境的準備工作:httpd-2.2+php-5.4+mysql-5.5 第一步是安裝相對應的三個軟件,只要略懂一些英文單詞,安裝是沒有問題的,所以此處略過三個文件的安裝過程,直 ...
- BZOJ1063 NOI2008 道路设计 树形DP
题目传送门: BZOJ 题意精简版:给出一棵树,在一种方案中可以将树的若干链上的所有边的边权改为$0$,但需要保证任意两条链之间没有交点.问最少的一种方案,使得从根节点到其他节点经过的边的边权和的最大 ...
- 使用keras的LSTM进行预测----实战练习
代码 import numpy as np from keras.models import Sequential from keras.layers import Dense from keras. ...
- 【redis】1.redis-windows安装+配置介绍
1.下载windows版本redis 官方下载地址:http://redis.io/download,不过官方没有64位的Windows下的可执行程序,目前有个开源的托管在github上, 地址:ht ...
- hibernate 解决诡异的mysql存入中文乱码
使用hibernate查询mysql,通过bean的get方法拿到字符串再写入mysql中的字段会中文乱码,需要String string = xxx.get(),把get方法拿到的值传入到新的str ...