6. 编写上传servlet myUpload.java 代码如下(上传文件存放路径为:d:upload):
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class myUpload extends HttpServlet {
private String uploadPath = "D:\\upload\\";
private int maxPostSize = 100 * 1024 * 1024;
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html; charset=UTF-8");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(4096);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(maxPostSize);
try {
List fileItems = upload.parseRequest(req);
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
String name = item.getName();
try {
item.write(new File(uploadPath + name));
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
}
}
存放在../src/com/fileupload
7. 在web.xml中加入如下代码。(用于调用servlet)
<servlet>
<servlet-name>myUpload</servlet-name>
<display-name>File Upload Servlet</display-name>
<description>File Servlet Example</description>
<servlet-class>com.fileupload.myUpload</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myUpload</servlet-name>
<url-pattern>/myUpload</url-pattern>
</servlet-mapping>