使用JSP处理格式为 enctype="multipart/form"的表单

原创 2013年05月08日 17:05:40

        最近在做一个JSP网站,需要接收仪器传来的数据,数据使用POST方法传输,但是格式为enctype="multipart/form",无法使用Servlet的request获取,带来了一些麻烦,简单的研究了一下发现不是很难,和大家一起交流。

网页代码:

		<form action="Login" method="post" enctype="multipart/form-data">
			用户名:<input type="text" name="username"></input> 
			密码 :<input type="password" name="password">
			</input> <input type="submit" name="submit" value="提交" />
		</form>

         如上面所示,其实只是用来传输两个字符串,但是人家要用这个方法,咱们就得想办法拿出来不是?~

     设置ENCTYPE="multipart/form-data"后,servlet中除了file类型表单能获取到,其他value通过request.getParameter()方法获得的值为null。

解决办法:

      使用jspSmartUpload组件实现上传。

      首先去http://t.cn/zTQz28Q下载一个jspsmartupload.jar的文件,(我默认你安装好了Tomcat和Eclipse),将这个文件放到Tomcat的Lib文件夹下,然后在Eclipse中需要的项目上右键——Build Path——Add External Jar——选择这个jar

      打开需要处理的.java文件,之前我们使用的无法获取值的代码为:

String usrn=request.getParameter("username");
String pasw=request.getParameter("password");
      现在把它改写成:

SmartUpload su=new SmartUpload();
su.initialize(getServletConfig(), request, response);
su.setMaxFileSize(2000000);
su.upload();//注意这句可能会提示你加上try-catch
String usrn=su.getRequest().getParameter("username");
String pasw=su.getRequest().getParameter("password");
        现在试着输出一下,就可以获得传递的值了~

参考网站:http://liyanblog.cn/articles/2012/10/23/1350962399952.html   http://baike.baidu.com.cn/view/2295302.htm

转载请注明来自icyfox_bupt:http://blog.csdn.net/icyfox_bupt/article/details/8901222

相关文章推荐

【Jsp】使用jspsmartupload完成简单的文件上传系统

请不要妄想,一个html的file控件,再加上javascript与jquery语句就可以完成文件上传, 文件上传系统从来是需要配合服务器来完成的 用户把自己的文件上传到服务器上 文件上传系统是...

使用jspSmartUpload组件进行文件上传、下载

jspSmartUpload组件是一个可以免费使用的文件上传与下载组件。用户可以把他安装在web服务器上,再进行使用。        jspSmartUpload组件使用非常简单。在jsp文件中仅需...

使用jspsmartupload解决enctype引起的无法同时上传文件和接值的问题

点击这里使用RSS订阅本Blog:   使用jspsmartupload解决enctype引起的无法同时上传文件和接值的问题表单中enctype="multipart/form-data"的意...

flask获取表单以enctype="multipart/form-data"格式发送的数据

最早的HTTP POST是不支持文件上传的,给编程开发带来很多问题。但是在1995年,ietf出台了rfc1867,也就是《RFC 1867 -Form-based File Upload in HT...

表单form的enctype="multipart/form-data"使用体会

by xyz 在使用表单传送数据的时候,如果form 加了enctype="multipart/form-data" 这个属性,那么表单请求传到另一个jsp或servlet 里时 是不能用re...
  • sdodnsx
  • sdodnsx
  • 2014年10月11日 10:29
  • 202

为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?

首先知道enctype这个属性管理的是表单的MIME编码。共有三个值可选: 1、application/x-www-form-urlencoded 2、multipart/form-data 3、te...

SpringMVC中文件上传,添加enctype="multipart/form-data"后表单其他属性为空

最近在做一个小型项目,用SpringMVC+Spring+Mybatis做的,开始没有做图片上传,也没有用Spring MVC做过,以前是用Struts2搞定的,所以很自然的, 在设置form表单上的...

为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?

首先知道enctype这个属性管理的是表单的MIME编码。共有三个值可选: 1、application/x-www-form-urlencoded 2、multipart/form-data 3...

【MIME类型简述】为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?

ps:此篇博客并非楼主原创,觉得内容不错,拿来于大家分享 首先知道enctype这个属性管理的是表单的MIME编码。共有三个值可选: 1、application/x-www-form-...

为什么上传文件的表单需要设置enctype="multipart/form-data"

在学习PHP文件上传的过程中发现,HTML表单需要设置enctype="multipart/form-data"这个属性,虽然不这么设置的确无法上传,但这是为什么呢?...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用JSP处理格式为 enctype="multipart/form"的表单
举报原因:
原因补充:

(最多只允许输入30个字)