我写了一个FileUpload.java文件如下import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
public class FileUpload extends HttpServlet
{
private String uploadPath="C:\\upload\\";
private String tempPath="c:\\upload\\tmp\\";
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
try
{
DiskFileUpload fu=new DiskFileUpload();
fu.setSizeMax(4194304);
fu.setSizeThreshold(4096);
fu.setRepositoryPath(tempPath);
List fileItems=fu.parseRequest(request);
Iterator i=fileItems.iterator();
while(i.hasNext())
{
FileItem fi=(FileItem)i.next();
String fileName=fi.getName();
if(fileName!=null)
{
fi.write(new File(uploadPath+"a.txt"));
}
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
public void init(ServletConfig config)throws ServletException
{
uploadPath="C:\\upload\\";
tempPath="c:\\upload\\tmp\\";
if(!new File(uploadPath).isDirectory())
{
new File(uploadPath).mkdirs();
}
if(!new File(tempPath).isDirectory())
{
new File(tempPath).mkdirs();
}
super.init(config);
}
}
html文件如下:
<html>
<head><title>FileUpLoad</title></head>
<body>
<form action="http://localhost:8000/a/a" method="post" enctype="multipart/form-data" name="form1">
  <input type="file" name="file">
  <input type="submit" name="Submit" value="upload">
</form>
</body>
</html>
用j2ee的部署工具deploytool 部署FileUpload.class 为servlet 但冲击html中的upload出现了javax.servlet.ServletException: Error instantiating servlet class FileUpload与java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadBase这两个错误....
请哪位侠给我看看哪里出了问题啊..???

解决方案 »

  1.   

    你应该少包吧
    你有没有加入commons-fileupload.jar
      

  2.   

    你两个错误提示都是提示找不到文件上传的组件,加上commons-fileupload.jar包应该是没问题的,我上传都是用这个实现,速度还可以
      

  3.   

    fileupload.java文件编译都通过了啊
      

  4.   

    楼主应该还不会部署。就是找不到JAR文件而已。
      

  5.   

    我把commons-fileupload.jar
    这个文件放到了lib 目录下啊  ...
      

  6.   

    你暂时不用j2ee的部署工具来部署,你把你的文件拷贝到tomcat下运行测试一下
      

  7.   

    你是在学习阶段,是吗?
    你安装一个Tomcat,再将你的代码拷贝到webapps下,启动运行就行了
      

  8.   

    是的啊
    是把fileupload.class与html两个文件都拷贝到里面去么
      

  9.   

    要将包括web-inf目录在内的父目录和其下所有文件拷贝过去(也就是web root folder)