第一次是在过滤器中执行 能获取里面的参数
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload df = new ServletFileUpload(factory);
List file=null;
FileItem ff = null;
String bb=null;
try {
file = df.parseRequest(request);
} catch (FileUploadException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Iterator iter = file.iterator();
while (iter.hasNext()) {}
接着进入servlet 和上同样的代码 但iter.hasNext()却变为了false 这是为什么
我这产生的是新对象啊
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload df = new ServletFileUpload(factory);
List file=null;
FileItem ff = null;
String bb=null;
try {
file = df.parseRequest(request);
} catch (FileUploadException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Iterator iter = file.iterator();
while (iter.hasNext()) {}
接着进入servlet 和上同样的代码 但iter.hasNext()却变为了false 这是为什么
我这产生的是新对象啊
解决方案 »
- linux下安装tomcat集群,tomcat和apache整合问题!
- csdn上的这个博客输入文本框是怎么做的 求解 在线等
- 使用commons-fileupload时,如何改变上传文件名称
- 在页面输入同步问题???
- JSP配什么数据库软件好呀?
- [求助] 在本地机器上作JSP论坛,怎么测试并用代码实现多用户同时登录?
- 别的系统通过url访问jsf系统,参数怎么传入,比如xx.jsf?a=b
- 数组的问题
- jbuilder6开发jsp遇到的问题,请高手帮忙!
- 项目没做其他的操作就clean了一下,忽然就启动不起来了,struts2注册拦截器的时候,日志报错如下
- 问一个关于主键自增的问题,谢谢了.................................
- 将北京时间转化为格林尼治时间?
为什么要使用两次,不明白?
你的第一次的iter已经到记录末尾了
第二次使用当然为false
可df是产生的新对象啊 那么 Iterator iter 也应该是新的集合
System.out.println(df);
System.out.println(file);
System.out.println(iter); 在filter中是org.apache.commons.fileupload.disk.DiskFileItemFactory@1973732org.apache.commons.fileupload.servlet.ServletFileUpload@a8e5ac[name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000000.tmp, size=9bytes, isFormField=true, FieldName=hidden1, name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000001.tmp, size=3bytes, isFormField=true, FieldName=name, name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000002.tmp, size=3bytes, isFormField=true, FieldName=password, name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000003.tmp, size=2bytes, isFormField=true, FieldName=password1, name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000004.tmp, size=2bytes, isFormField=true, FieldName=email, name=Winter.jpg, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000005.tmp, size=105542bytes, isFormField=false, FieldName=file, name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000006.tmp, size=2bytes, isFormField=true, FieldName=question, name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997[code=Java]e_12111e23c35__7fef_00000007.tmp, size=2bytes, isFormField=true, FieldName=answer, name=null, StoreLocation=C:\apache-tomcat-6.0.18\temp\upload_23d6997e_12111e23c35__7fef_00000008.tmp, size=6bytes, isFormField=true, FieldName=button]java.util.AbstractList$Itr@7e86b8[/code]在servlet中是 file是空的 难道执行了df.parseRequest(request); 这句话后 就直接把数据删了
可我查了源代码没见有删的地方啊?
org.apache.commons.fileupload.disk.DiskFileItemFactory@f3bed9org.apache.commons.fileupload.servlet.ServletFileUpload@76a247[]
java.util.AbstractList$Itr@980461
他在源码下先判断
如果有实例的话
就不重新创建了