表单的的提交方式有“application/x-www-form-urlencoded”和“multipart/form-data”两种方式,默认的缺省情况为“application/x-www-form-urlencoded”提交。

一般情况下使用“application/x-www-form-urlencoded”会比较快捷,然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。特别在文件上载时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。所以,大数据传输时一般选择“multipart/form-data”。

然而当使用“multipart/form-data”传输时,如果传输的数据有多个参数,那么用request.getParameter()取到的值会是null。所以要用request.getInputStream()取值并解析。解析的部分网上提供多种封装好的方法。下面为其中一种方法。

[java] view plaincopy
  1. DiskFileItemFactory factory = new DiskFileItemFactory();
  2. ServletFileUpload upload = new ServletFileUpload(factory);
  3. upload.setHeaderEncoding("UTF-8");
  4. List items = upload.parseRequest(request);
  5. Map param = new HashMap();
  6. for(Object object:items){
  7. FileItem fileItem = (FileItem) object;
  8. if (fileItem.isFormField()) {
  9. param.put(fileItem.getFieldName(), fileItem.getString("utf-8"));//如果你页面编码是utf-8的
  10. }
  11. }

用该方法解析完之后可以直接用param.get()获取你要的值,但是该方法要导入commons-fileupload-1.3.jar和commons-io-1.2.jar。

此为jar包下载地址http://download.csdn.NET/detail/han123456o/6769327

servlet接收multipart/form-data表单数据相关推荐

  1. Servlet 表单数据

    很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. GET 方法 GET 方法向页 ...

  2. 详述Servlet获取form表单数据

    如何使用Servlet获取表单数据? 一.建立连接 要实现Servlet传递表单数据的效果,我们需要一个表单数据输入端的页面和一个表单数据接收端的Java文件. 首先需要创建一个Web工程,再将下载好 ...

  3. 如何使用 Java Servlet 处理 HTML 表单数据

    在本 Java Servlet 教程中,我将指导您如何使用Java Servlet从服务器端的 HTML 表单中读取常用输入字段的值. 您知道,处理以 HTML 页面表示的表单数据是 Web 开发中非 ...

  4. 观看慕课老师milanlover视频Tomcat装在Servlet的三种情况+Servlet获取表单数据+Servlet相对路径

    在src新建TestServlet1: package servlet;import java.io.IOException; import java.io.PrintWriter;import ja ...

  5. 利用ajax提交form表单数据

    利用thymeleaf引擎创建的html中,使用了adminLTE模板,ajax提交form表单数据,本以为很容易实现,却遇到了很多问题,这里进行总结. 1.get方式提交 通过serialize() ...

  6. ajax提交form表单数据serialize转为JSON

    在用ajax提交表单数据时,我们常需要将form表单数据转为JSON格式,这样后端控制器可以方便的将JSON字符串转为Bean形式. 在此提供一小段代码1,让你快速的将form表单数据转为JSON格式 ...

  7. struts2自动接收表单数据

    提交页面主要代码: <form method="post" action="messageAction">    <input type=&q ...

  8. java处理表单变量_Java自学之SpringMVC:接收表单数据

    学习目的:使用SpringMVC接收表单数据. Part 1 新建一个pojo. package pojo; public class Product { private int id; privat ...

  9. Ajax提交form表单数据

    文章目录 前言 一.form表单介绍 1.什么是表单 2.表单form的组成部分 3.表单form的属性 4.表单的同步提交 二.Ajax 提交表单数据 1.监听表单的提交事件 2.阻止表单的默认提交 ...

  10. ajax提交form表单到php,ajax如何提交form表单数据?ajax提交form表单数据的方法介绍...

    对于form表单数据的提交,我们一般都会想到使用ajax提交,那么,ajax如何来提交form表单数据呢?接下来的这篇文章就来给大家来介绍关于ajax提交form表单数据方法,有需要的伙伴可以参考一下 ...

最新文章

  1. 用树莓派打造世界上最小的“iMac”
  2. linux安装 mysql-5.7.25_Linux 系统下安装 mysql5.7.25(glibc版)
  3. docker容器重启后数据丢失
  4. SQL Server 数据库定时自动备份
  5. BZOJ-1007-水平可见直线-HN2008
  6. hive中删除表的错误Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException
  7. Linux下crontab命令的用法
  8. 如何利用多核CPU来加速你的Linux命令
  9. 合格PLC电气工程师需要会什么?
  10. 灵雀云 CTO 陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟?
  11. Java生成、解析二维码方案以及代码实现
  12. java自然语言处理_Java自然语言处理NLP工具包
  13. matlab内置vmd吗,matlab中使用VMD(变分模态分解)
  14. 黄金搭档:老虎+猫头鹰+孔雀+考拉
  15. 第8节 实例-写个简单的操作器
  16. Mac上Logi Options安装问题
  17. Java分布式跟踪系统Zipkin(二):Brave源码分析-Tracer和Span
  18. python linspace
  19. java bll dal_实体框架DAL,BLL与存储库模式
  20. html幻灯片图片大小,如何制作ppt?如插入图片、调整图片大小与母版一致!

热门文章

  1. MFC程序在控制台输出的实现
  2. wxpython 内嵌字体_【wxPython】wx.font类字体
  3. 分布式系统唯一ID生成方案汇总
  4. day13 内置函数一
  5. 因缺失log4j.properties 配置文件导致flume无法正常启动。
  6. C#实现身份证号码验证的方法
  7. 替换libc中的内存分配函数
  8. Socket经验记录
  9. Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
  10. chrome谷歌浏览器用这种方式清除缓存比较方便了,必须是调试模式才行