(二)手动采用fileupload组建进行文件上传upload2.jsp
1 <% @ page language="java" contentType="text/html; charset=GB18030" 2 pageEncoding="GB18030" %> 3 <! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > 4 < html > 5 < head > 6 < meta http-equiv ="Content-Type" content ="text/html; charset=GB18030" > 7 < title > Insert title here </ title > 8 </ head > 9 < body > 10 < form action ="/MyStruts2/UploadServlet" method ="post" enctype ="multipart/form-data" > 11 username: 12 < input type ="text" name ="username" > 13 < br > 14 password: 15 < input type ="password" name ="password" > 16 < br > 17 file1: 18 < input type ="file" name ="file1" > 19 < br > 20 file2: 21 < input type ="file" name ="file2" > 22 < br > 23 < input type ="submit" value =" submit " > 24 </ form > 25 </ body > 26 </ html > web.xml中的配置 < servlet > < servlet-name > UploadServlet </ servlet-name > < servlet-class > com.test.servlet.UploadServlet </ servlet-class > </ servlet > < servlet-mapping > < servlet-name > UploadServlet </ servlet-name > < url-pattern > /UploadServlet </ url-pattern > </ servlet-mapping > UploadServle.java 1 package com.test.servlet; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.OutputStream; 8 import java.util.List; 9 10 import javax.servlet.ServletException; 11 import javax.servlet.http.HttpServlet; 12 import javax.servlet.http.HttpServletRequest; 13 import javax.servlet.http.HttpServletResponse; 14 15 import org.apache.commons.fileupload.FileItem; 16 import org.apache.commons.fileupload.FileUploadException; 17 import org.apache.commons.fileupload.disk.DiskFileItemFactory; 18 import org.apache.commons.fileupload.servlet.ServletFileUpload; 19 20 @SuppressWarnings( " serial " ) 21 public class UploadServlet extends HttpServlet {22 @SuppressWarnings( { "unchecked", "deprecation" })23 public void doPost(HttpServletRequest request, HttpServletResponse response)24 throws ServletException, IOException {2526 DiskFileItemFactory factory = new DiskFileItemFactory();2728 String path = request.getRealPath("/upload");2930 factory.setRepository(new File(path));3132 factory.setSizeThreshold(1024 * 1024);3334 ServletFileUpload upload = new ServletFileUpload(factory);3536 try {37 List<FileItem> list = upload.parseRequest(request);3839 for (FileItem item : list) {40 if (item.isFormField()) {41 String name = item.getFieldName();4243 String value = item.getString("gbk");4445 System.out.println(name);4647 request.setAttribute(name, value);48 } else {49 String name = item.getFieldName();5051 String value = item.getName();5253 int start = value.lastIndexOf("\\");5455 String fileName = value.substring(start + 1);5657 request.setAttribute(name, fileName);5859 item.write(new File(path, fileName));6061 OutputStream os = new FileOutputStream(new File(path,62 fileName));6364 InputStream is = item.getInputStream();6566 byte[] buffer = new byte[400];6768 int length = 0;6970 while ((length = is.read(buffer)) > 0) {71 os.write(buffer, 0, length);72 }7374 os.close();7576 is.close();7778 }79 }80 }8182 catch (Exception ex) {83 ex.printStackTrace();84 }85 request.getRequestDispatcher("upload/result2.jsp").forward(request,86 response);87 }8889} 结果: 相关资源:ajaxFileUpload struts2实现多文件上传(源码)