Sube múltiples archivos a la vez a un Struts2 @Action

Necesito cargar "1000 archivos" o "un archivo zip que incluya todos los archivos" a la vez utilizando Struts2. (Por 1000 archivos o un archivo zip, quiero decir que necesito que todos los archivos se carguen en el sistema, no importa si el usuario elige todos los 1000 archivos a la vez o los comprime en un solo archivo, por lo que estoy buscando el que es más fácil de implementar y más eficiente)

He leído las siguientes respuestas, pero ninguna de ellas se ajusta al propósito.

Struts2 Carga de archivos¿Cómo puedo seleccionar y cargar varios archivos con HTML y PHP, utilizando HTTP POST?

Usando el siguiente código, cuando uso una lista simple de archivos; muestra el nombre de las listas, pero cuando uso los archivos de lista no muestra nada y no puedo cargar los archivos.

subir.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form action="upload" enctype="multipart/form-data" method="post">
            <input name="files" type="file" multiple/>
            <button type="submit"/>
        </form>
    </body>
</html>

subir.java

@Action
public class upload implements Addresses {

    private List <File> files = new ArrayList <File> ();

    public String execute(){

        return "success";
    }
    public upload() {
        System.out.println("in upload 1");

         for(int i=0;i<files.size();i++)
            System.out.println(i + ")" + files.get(i));

        System.out.println("in upload 2");
    }

    public List <File> getFiles() {
        return files;
    }

    public void setFiles(List <File> files) {
        this.files = files;
        for(int i=0;i<files.size();i++)
            System.out.println(i + ")" + files.get(i));
//            File fileToCreate = new File("c:\image", files.get(i).toString());
//            FileUtils.copyFile(files.get(i), fileToCreate);
    }
}

Salida

in upload 1
in upload 2

Respuestas a la pregunta(2)

Su respuesta a la pregunta