1.首先引入:commons-fileupload-1.2.jar包
2.fileUpLoad.jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>文件上传</title>
</head>
<body>
<form action="fileDeal.jsp" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>用户姓名:</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name= "password"/></td>
</tr>
</table>
<input type="file" name="files"/>
<input type="submit" value="提交" />
</form>
</body>
</html>
3.fileDeal.jsp页面
<%@page import="java.io.File"%>
<%@page import="java.util.Iterator"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.commons.fileupload.FileItemFactory"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>文件上传</title>
</head>
<body>
<%
//String uploadFilePath = request.getSession().getServletContext().getRealPath("/upload/" );
//检查请求类型
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
//当enctype="multipart/form-data"并且method是post时,isMultipart为真
if(isMultipart){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
//转换请求对象
List<FileItem> items = null;
items=upload.parseRequest(request);
Iterator<FileItem> iterator = items.iterator();
while(iterator.hasNext()){
FileItem item = iterator.next();
//保存上传文件
if(item.isFormField()){
//处理普通文本字段
String fieldName = item.getFieldName();
if(fieldName.equals("username")){
out.print(item.getString());
}else if(fieldName.equals("password")){
out.print(item.getString());
}
}else{
File fullfile = new File("F:/files");
if(!fullfile.exists()){
fullfile.mkdir();
}
File uploadfile = new File(fullfile,item.getName());
item.write(uploadfile);
}
}
}
%>
</body>
</html>
4.测试