icyfox_bupt的专栏

一个菜鸟的成长史

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

        最近在做一个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 Eclipse Tomcat
个人分类: JAVA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭