首先下載兩個包:commons-fileupload-1.1.1.jarcommons-io-1.2.jar(這個包必不可少哦)

放到
<% TOMECAT的目錄 %>\common\lib
<% JAVA_HOME %>\jre\lib\ext目錄下

處理代碼如下

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.List,java.util.Iterator"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="java.io.File"%>
<html>
??? <head><title>upload</title></head>
??? <body>
??? <%
??????? DiskFileUpload dfu=new DiskFileUpload();
??????? //設置上傳數據的最大大小為10M。
??????? dfu.setSizeMax(0xA00000);
??????? //設置內存緩沖區的閥值為512K。
??????? dfu.setSizeThreshold(0x80000);
??????? //設置臨時存儲文件的目錄為E:\fileupload。
??????? dfu.setRepositoryPath("E:\\fileupload");
??????? //得到FileItem對象的列表。
??????? List fileItems=dfu.parseRequest(request);
??????? Iterator it = fileItems.iterator();
??? %>
??????? <table cellpadding="3" border="1">
??? <%
??????? //依次處理每個上傳的文件
??????? while (it.hasNext())
??????? {
??????????? FileItem item = (FileItem) it.next();
??????????? //判斷是否是文件域的表單信息
??????????? if (!item.isFormField())
??????????? {
??????????????? String name = item.getName();
??????????????? long size = item.getSize();
??????????????? if((name==null || name.equals("")) && size==0)
??????????????????? continue;
??? %>
??????????? <tr>
??????????????? <td><%=item.getName()%></td>
??????????????? <td><%=item.getSize()%></td>
??????????? </tr>
??? <%
??????????????? //保存上傳的文件到指定的目錄
??????????????? File dir=new File("E:\\UploadFile");
??????????????? //如果瀏覽器傳送的文件名是全路徑名,則取出文件名。
??????????????? int index=name.lastIndexOf(File.separator);
??????????????? if(index>0)
??????????????????? name=name.substring(index+1,name.length());
??????????????? File file=new File(dir,name);
??????????????? item.write(file);
??????????? }
??????????? else
??????????? {
??? %>
??????????? <tr>
??????????????? <td><%=item.getFieldName()%></td>
??????????????? <td><%=item.getString()%></td>
??????????? </tr>
??? <%
??????????? }
??????? }
??? %>
??????? </table>
??? </body>
</html>