javaWeb FileUpload编程中,ServletFileUpload.setFileItemFactory导致的工程加载失败

本文介绍了一种在使用Eclipse部署项目到Tomcat时遇到的应用加载失败的问题及其解决过程。通过检查日志发现ClassNotFoundException异常,最终定位到缺失的commons-fileupload-1.3.1.jar包,并成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS6.6
OpenJDK1.7.0.79.x86_64
Apache Tomcat/8.0.21
commons-fileupload-1.3.1
Eclipse:Luna Service Release 2 (4.4.2)

处理上传的代码:
doPost(xxx){
if(!ServletFileUpload.isMultipartContent(request)){
          return;
 }
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload();
upload.setFileItemFactory(factory);  //此句有问题
}

现象:只要upload.setFileItemFactory(factory);这句参加编译(编译可以通过),在tomcat管理界面 (Tomcat Web Application Manager)去Reload(或Start)此工程,此工程就会加载失败。将此句去掉,则加载成 功。

应该从何处入手解决此问题?

查tomcat日志

tomcat日志文件在哪:tomcat/logs

按时间查到最后错误日志,定位到错误行:

Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory

在Eclipse的Libraries里是有这个类的。去工程/lib文件夹下查看,找不到“commons-fileupload-1.3.1.jar"这个包。复制进去,tomcat重新start此工程,成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值