使用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表单中上传文件 enctype="multipart/form-data"解释

ENCTYPE="multipart/form-data"用于表单里有图片上传。    表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。 ...
  • zlj1217
  • zlj1217
  • 2017年01月30日 01:17
  • 2924

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

最近在做一个小型项目,用SpringMVC+Spring+Mybatis做的,开始没有做图片上传,也没有用Spring MVC做过,以前是用Struts2搞定的,所以很自然的, 在设置form表单上的...
  • qq_31950847
  • qq_31950847
  • 2017年04月08日 20:05
  • 1713

利用form从Jsp到Servlet传值为NULL问题(enctype="multipart/form-data")(fileupload)

1.在application.jsp中,除了要上传的文件之外,还需要将项目名传到对应的servlet中 代码如下: ...
  • qq_37668536
  • qq_37668536
  • 2017年03月22日 10:35
  • 534

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

首先知道enctype这个属性管理的是表单的MIME编码。共有三个值可选: 1、application/x-www-form-urlencoded 2、multipart/form-data 3、te...
  • qq_31780525
  • qq_31780525
  • 2016年09月24日 14:13
  • 940

springmvc文件上传与表单为enctype="multipart/form-data" 的数据绑定

最近刚开始接触SpringMVC,项目中copy了个先前项目的一个页面,测试过程中发现表单页面数据无法绑定到Model中传入值全部为NULL,后来发现使用的页面中表单form 使用了 enctype=...
  • kukumolu
  • kukumolu
  • 2017年04月06日 08:22
  • 1540

enctype="multipart/Form-data"取不到值

最近做了个简单的后台,a.jsp
  • zo_184
  • zo_184
  • 2014年07月21日 19:50
  • 1072

multipart/form-data 文件上传表单中 传递参数无法获取的原因!

multipart/form-data 文件上传表单中 传递参数无法获取的原因!
  • zllww123
  • zllww123
  • 2017年08月25日 22:01
  • 3452

Http表单编码

转自 http://harttle.com/2016/04/11/http-form-endoding.html 在web开发中最常见的莫过于GET和POST,其中GET一般将参数编码在url中(H...
  • u012811805
  • u012811805
  • 2017年05月10日 22:36
  • 229

浅谈php表单提交中enctype属性

实际项目中,form表单的enctype属性设置成了“text/plain”,$_POST[]取值取不到。解决方法是删除该属性,或者设置为其他的另外两种属性值。遇到的问题,记录在此。 这里再来熟悉一...
  • freshlover
  • freshlover
  • 2013年02月22日 17:44
  • 5888

asp中enctype="multipart/form-data"获取Form表单的值

文章来源:http://www.pro-soho.com/blog/article.asp?id=252test.asptest1.aspDim FormData, FormSize, Divider...
  • zhangfeiadts
  • zhangfeiadts
  • 2008年12月22日 10:47
  • 8582
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用JSP处理格式为 enctype="multipart/form"的表单
举报原因:
原因补充:

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