首页 > 编程语言 >Java前后端请求Content-Type与接受方式

Java前后端请求Content-Type与接受方式

时间:2022-12-07 16:23:53浏览次数:44  
标签:Java String RequestParam key2 commons Content 参数 form Type

1.Get

Get方法没有请求体,所以加不加Content-Type没有意义。

参数通过拼接到Url来加入

url?key=value&key2=value2

SpringMVC后台如何获取参数:

  • Java后台通过Request的getParameter来获取kv参数

  • 通过参数接收

    public String calendarCloud(HttpServletRequest request,String key1,String key2){
    	//方法体
    }
    

2.Post

Post请求分为多种类型:

1.application/x-www-form-urlencoded

这应该是最常见的 POST 提交数据的方式了。浏览器的原生

表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。

SpringMVC后台如何获取参数:

  • Java后台通过Request的getParameter来获取kv参数

  • 通过参数接收1)

    public String calendarCloud(HttpServletRequest request,String key1,String key2){
    	//方法体
    }
    
  • @RequestParam

    public String calendarCloud(HttpServletRequest request,@RequestParam(value="key1") String key1,@@RequestParam(value="key2") String key2){
    	//方法体
    }
    

2.application/json

Google 的 AngularJS中的 Ajax 功能,默认就是提交 JSON 字符串。

SpringMVC后台如何获取参数:

注意@RequestBody只能存在一个,但是@RequestParam可以有多个

  • 使用注解@RequestBody可以将body里面所有的json数据传到后端,后端再进行解析

    String method(@RequestBody String key,HttpServletRequest request){
    	//方法体
    }
    

3.multipart/form-data

我们使用表单上传文件时,必须让 表单的 enctype 等于 multipart/form-data。

对于multipart/form-data,原生不支持,需要使用依赖jar解析:

<!-- 文件上传依赖包 -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>

在spring-mvc的配置文件springmvc.xml中定义文件上传解析器,并配置相关参数:

<!-- 定义文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 设定默认编码 -->
    <property name="defaultEncoding" value="UTF-8"></property>
    <!-- 设定文件上传的最大值为5MB,5*1024*1024 -->
    <property name="maxUploadSize" value="5242880"></property>
    <!-- 设定文件上传时写入内存的最大值,如果小于这个参数不会生成临时文件,默认为10240 -->
    <property name="maxInMemorySize" value="40960"></property>
    <!-- 上传文件的临时路径 -->
    <property name="uploadTempDir" value="fileUpload/temp"></property>
    <!-- 延迟文件解析 -->
    <property name="resolveLazily" value="true"/>
</bean>

在Controller接收:

使用MultpartFile和@RequestParam接收文件

标签:Java,String,RequestParam,key2,commons,Content,参数,form,Type
From: https://www.cnblogs.com/Yikolemon/p/16963449.html

相关文章

  • Javascript-极速入门指南-3-jQuery使用教程
    内容概要jQuery类库类库jQuery简介jQuery的宗旨:Writeless,domore写的更少做的更多jQuery的特点为: 1.加载速度快 2.选择器更多更好用 3.一行代码走天下......
  • java 随便的复习
    packagewxy1;publicclassw{ publicstaticvoidmain(Stringargs[]){ //这个是单行注释只可以注释一行; /*这个是多行注释可以注释很多航, *注意:byte也是整数型; ......
  • 力扣540(java&python)-有序数组中的单一元素(中等)
    题目:给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足O(logn)时间复......
  • 现代javascript教程 数组
    array字面量或者构造函数声明数组newArray(100),长度100的空获取数组长度,是一个属性,arr.length获得元素,通过索引值,arr[0]修改数组,arr[0]=0用alert方法打印数组,会......
  • java sql 测试批量插入效率
    四种模式下的批量插入测试响应:插入一万条数据,耗时情况ms:[{"taskName":"循环插入","timeMillis":20771,"timeSeconds":20.771},{"taskName":"......
  • JAVA基础
    JAVA基础命名规范项目名全小写包全小写域名反写:从大到小类 大驼峰命名:每个单词首字母大写,其他字母小写方法小驼峰命名......
  • 官网下载java相关资源
    一、下载JDK 1、首先进入Downloads >> Java For Developers,如图   2、点击进入后,即可看到如下图所示的页面,在此页面选择相应的jdk即可  3、以上页面中只能下到最......
  • 皕杰报表导出报 java.lang.NoClassDefFoundError: org/apache/commons/codec/digest/D
    从一张报表导出报错看如何分析解决皕杰报表的问题有用户问了一个使用皕杰报表工具时遇到的问题,点击带图表的报表的导出excel按钮没有反应,且页面变成空白,不知从哪里着手解决......
  • java 引入logging日志
    1、yml添加 #日志配置logging:level:#自己的包名com.wrblog:debugorg.springframework:warn 2、在resources下创建logback.xml文件并更改自己的......
  • java阻塞队列
    1.defBlockingQueue阻塞队列是mq的底层。BlockingQueue阻塞队列,排队拥堵,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示:2.实现类BlockingQueue阻......