Pour allier simplicité et propreté, la solution Servlet + JSP me paraît nickel.
Côté servlet tu joues avec la classe File pour lister tes fichiers, répertoires et sous-répertoires. Très simple à faire en quelques lignes de code. Tu remplis un bean de ta création destiné à stocker les chemins et/ou noms de ces fichiers/répertoires (+ d'autres infos si tu veux, taille, date de modif, ..., à toi de choisir ton modèle) et tu fous ça dans la requête avec un :
request.setAttribute("nomQuelconqueDeTonAttribut", taListeDeFichiersEtRépertoires)
Puis en fin de servlet tu dispatch ta requête vers ta JSP avec ça :
request.getRequestDispatcher("chemin/taJsp.jsp").forward();
Et dans ta JSP tu récupères ça avec (par exemple) un :
<% ListeFichierRepertoires liste = (ListeFichierRepertoires)request.getAttribute("nomQuelconqueDeTonAttribut"); %>
Tu n'as plus qu'à boucler sur cette liste et à afficher les infos que tu veux, en mettant le chemin bien construit dans une balise <a> tu pourras télécharger tes fichiers. Si tu veux en plus contrôler l'existence du fichier (il a pu être supprimé entre temps) il faudra ajouter une servlet de plus pour contrôler ça au moment du clic.
Partager