I am currently working on a dynamic web application that I want the user to be able to upload multiple files at once for the application to use. I don't know how many files the user may upload at once; it could be 2 or it could 100+ files. I am new to JSP dynamic web applications and I have started with a single upload file but I am not really sure where to go from here. I've looked at few examples searching but I haven't been able to find exactly what I was looking for. This is what I have so far:
Servlet:
package Servlets;
import java.io.File;  
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.FileItemFactory;  
import org.apache.commons.fileupload.FileUploadException;  
import org.apache.commons.fileupload.disk.DiskFileItemFactory;  
import org.apache.commons.fileupload.servlet.ServletFileUpload;  
public class UploadServlet extends HttpServlet 
{  
private static final long serialVersionUID = 1L;
    @Override  
      protected void doPost(HttpServletRequest request, HttpServletResponse response)  
          throws ServletException, IOException 
          {  
            boolean isMultipart = ServletFileUpload.isMultipartContent(request);  
            response.setContentType("text/html");  
            PrintWriter out = response.getWriter();  
            if (isMultipart) 
            {  
                // Create a factory for disk-based file items  
                FileItemFactory factory = new DiskFileItemFactory();  
                // Create a new file upload handler  
                ServletFileUpload upload = new ServletFileUpload(factory);  
                try 
                {  
                    // Parse the request  
                    List items = upload.parseRequest(request);  
                    Iterator iterator = items.iterator();  
                    while (iterator.hasNext()) 
                    {  
                        FileItem item = (FileItem) iterator.next();  
                        if (!item.isFormField())  
                        {  
                            String fileName = item.getName();      
                            String root = getServletContext().getRealPath("/");  
                            File path = new File(root + "/uploads");  
                            if (!path.exists())  
                            {  
                                boolean status = path.mkdirs();  
                            }  
                            File uploadedFile = new File(path + "/" + fileName);  
                            System.out.println(uploadedFile.getAbsolutePath());  
                        if(fileName!="")  
                            item.write(uploadedFile);  
                        else  
                        out.println("file not found");  
                        out.println("<h1>File Uploaded Successfully....:-)</h1>");  
                    }  
                    else  
                    {  
                        String abc = item.getString();  
                        out.println("<br><br><h1>"+abc+"</h1><br><br>");  
                    }  
                }  
            } 
            catch (FileUploadException e) 
            {  
            out.println(e);  
            } 
            catch (Exception e) 
            {  
            out.println(e);  
            }  
        }  
        else  
        {  
            out.println("Not Multipart");  
        }  
      }  
}
.JSP File:
<form method="post" action="UploadServlet" enctype="multipart/form-data">
Select file to upload:
    <p><input type="file" name="dataFile" id="fileChooser" /> 
    <input type="submit" value="Upload" multiple="multiple" /></p>
</form>
I am looking for a way to upload multiple files instead of just one and show them in a list.
 
     
     
     
     
     
     
    