Commons FileUploadを試す
https://commons.apache.org/proper/commons-fileupload/
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="/UploadTest/FileUploadServlet" method="POST" enctype="multipart/form-data"> <input type="file" name="テキストファイルを選択"/> <input type="submit" value="POST実行" /> </form> </body> </html>
FileUploadServlet.java
package jp.gr.java_conf.ksino.javaee.upload; import java.io.IOException; import java.io.PrintWriter; 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 FileUploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter writer = response.getWriter(); DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfu = new ServletFileUpload(factory); StringBuilder sb = new StringBuilder(); sb.append("<html><head><title>File Upload Test</title></head><body>"); try { List<FileItem> list = sfu.parseRequest(request); sb.append(list.size() + "<br/>"); Iterator<FileItem> iterator = list.iterator(); while (iterator.hasNext()) { FileItem item = iterator.next(); sb.append(item.getName() + "<br/>"); // ファイル名 sb.append(item.getFieldName() + "<br/>"); // inputタグのname属性に設定した値 } } catch (FileUploadException e) { sb.append(e); e.printStackTrace(); } finally { sb.append("</body></html>"); writer.write(sb.toString()); writer.close(); } } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>UploadTest</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>FileUploadServlet</display-name> <servlet-name>FileUploadServlet</servlet-name> <servlet-class>jp.gr.java_conf.ksino.javaee.upload.FileUploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>FileUploadServlet</servlet-name> <url-pattern>/FileUploadServlet</url-pattern> </servlet-mapping> </web-app>