常用表单提交类型:
- application/x-www-form-urlencoded 空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值
- multipart/form-data 不对字符进行编码,使用二进制数据传输,一般用于上传文件,非文本的数据传输。
处理方式
- 普通post表单 application/x-www-form-urlencoded
参考链接 - 文件上传表单 multipart/form-data
spring配置:
<!--解决上传文件和获取post参数-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
controller接收:
@SneakyThrows
@ResponseBody
@RequestMapping(value = "/contest/class.do", method = {RequestMethod.POST})
public JsonAndModel importContestClass(@RequestParam("uploadfile") MultipartFile uploadfile, //上传文件 @RequestParam("className") String className, //表单数据
Integer id // url上的参数
){
}
@RequestParam注解
三种写法,test(String name),
test(@RequestParam String name),
test(@RequestParam(“userName”) String name),
第一种如果没有name 参数不会报错,
第二种没有name 参数会报错,(也可以设置required = false),
第三种跟第二种的区别是name 参数换为userName。