java contenttype_POST不同提交方式对应的Content-Type,及java服务器接收参数方式
简介:
Content-Type(MediaType),即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息.参考
response.Header里常见Content-Type一般有以下四种:
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml
详解:
1.application/x-www-form-urlencoded
application/x-www-form-urlencoded是最常见的Content-Type,form表单默认提交方式对应的content-type.
当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串追加到url后面,用?分割,加载这个新的url.
当action为post,且表单中没有type=file类型的控件时,Content-Type也将采用此编码方式,form数据将以key:value键值对的方式传给server.
表单提交:
后台:
import java.io.Serializable;
public class Student implements Serializable {
private String name;
private String hobby;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
@RequestMapping(value = "/test", method = RequestMethod.POST)
public String test(Student student) {
System.out.println(student.getName());
return "/test1";
}
2.multipart/form-data
当post表单中有type=file控件时content-type会使用此编码方式.
表单提交:
后台:
@RequestMapping(value = "/test", method = RequestMethod.POST)
public String test(Student student,@RequestParam(value = "file1", required = false) MultipartFile file1) {
System.out.println(student.getName());
return "/test1";
}
3.application/json
随着json规范的流行,以及前后端分离趋势所致,该编码方式被越来越多人接受.
前后端分离后,前端通常以json格式传递参数,因此该编码方式较适合RestfulApi接口.
前端传参:
$.ajax({
url: '/test',
type: 'POST',
data: {
"name": "zhangsan",
"age": 12,
"hobby": "football"
},
dataType: "json",
success: function (date) {
}
})
后台:
@RequestMapping(value = "/test", method = RequestMethod.POST)
public String test(@RequestBody Student student) {
System.out.println(student.getName());
return "/test1";
}
4.text/xml
XML-RPC(XML Remote Procedure Call)。它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。
soapUI等xml-rpc请求的参数格式.
提交参数:
zhangsan
12
footbal
分类: java
java contenttype_POST不同提交方式对应的Content-Type,及java服务器接收参数方式相关推荐
- Android向服务器传递参数方式:PostGet
因为平时开发原因,遇到了问题,都是上网去查询解决方法,但是没有记录的习惯,下次碰见了这个问题又要去网上搜索解决方法,这样既没有效率,又对自己的能力没有多大提升,因此才萌生了写博客的想法.既是将平时遇到 ...
- Ajax传值与后端接收参数方式探究
第一种 表单数据用JQ的serialize()序列化为"k1=v1&k2=v2..."键值对形式,以post请求的方式发送到后台. 而此时默认的contentType: & ...
- java接收参数_javaWeb收传参数方式总结
1.GET和POST请求,在传参方面有什么区别 GET传输的数据存储在URL上进行拼接 POST传输的数据存储在Requst Body(请求体)中 2.http请求中的Content-Type htt ...
- java spring框架 注解_史上最全的java spring注解
史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...
- Django获取请求参数方式
前端传参方式 请求行: url传参(/分隔,url路径),查询字符串传参(?开头key=value形式) 请求头: 如cookie 请求体:表单格式,非表单格式如json 请求行url传参: 请求行u ...
- 多线程的实现方式_一文搞懂Java多线程使用方式、实现原理以及常见面试题
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 线程创建方式3-实现 callable接口(Java)
线程创建方式3-实现 callable接口(Java) 线程创建方式三:实现 callable接口 callable的好处: 1.可以定返回值 2.可以抛出异常 package src.Demo02; ...
- java连接cdh集群_有一台电脑需要通过beeline的方式连接到CDHclouderahadoop集群,提示报错。...
有一台电脑需要通过beeline的方式连接到CDHclouderahadoop集群,提示报错. 码农的苦恼 2020-02-24 10:25:48 目前客户端服务器已经开通了3000-60000的端口 ...
- 获取随机数的方式Random类对象的方法 java 0913
获取随机数的方式Random类对象的方法 java 0913 Random类 实例化这个类得到一个对象 利用对象的方法获取整数 代码 import java.util.Random;public cl ...
最新文章
- 聊聊SwitchUserFilter的使用
- docker add-host hostAliases配置/etc/hosts
- java 导出excel二维表,如何轻松将EXCEL二维统计表转为数据清单?
- win7安装matlab的问题,安装matlab7.0出现问题,我是win7+64位系统,求解
- Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
- len在python_len在python
- 【链接】Solr的Filed中indexed与stored属性
- 实现 Virtual DOM 下的一个 VNode 节点
- linux box 黑屏,在linux16.04上安装virturalbox的时候出现问题
- Use __doPostBack() As A Bridge
- U2000V200R018 的安装教程我们用微软的Windows7专业版示例
- html怎么实现网页中文件下载功能
- 「ZigBee模块」基础实验(2)按键
- matlab列联表的独立性检验,(8.4列联表独立性分析案例.ppt
- CTF PWN之heap入门 unlink
- 成语归类大全(留着,孩子有用的)
- 如何思考产品价值定位?
- Android Kotlin-协程
- matlab 如何使用mex
- 计算机二级要学的函数有哪些,2017年计算机二级考试MS office 常用函数
热门文章
- matlab集群搭建问题
- Vue 页面如何利用生命周期函数监听用户预览时长
- 年度总结、下年计划不会做?教给你一个一招致胜的方法
- 技术前沿资讯-Apache Flink 1.14 新特性介绍
- 产品经理思维模型:产品生命周期
- flutter 国际化_从0开始设计Flutter独立APP | 第二篇: 完整的国际化语言支持
- 【Java从入门到天黑|03】JavaSE入门之流程控制
- skywalking使用方法_skywalking 6.2配置相关和使用
- vue vuex 大型项目demo示例
- Angular网络请求的封装