package controleur; import Metier.Principale; import java.io.IOException; import java.io.InputStream; import java.util.List; import javax.servlet.ServletContext; 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; import org.apache.commons.io.FilenameUtils; public class AddExcel extends HttpServlet { public static final String VUE = "/Accueil.jsp"; public static final String PARAM_EXCEL = "excel"; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.getServletContext().getRequestDispatcher(this.VUE).forward( request, response ); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletContext context = getServletConfig().getServletContext(); int nbLivres; Principale principale = Metier.MetierFactory.getPrincipale(); try { List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { // Traiter les champs de type fichier (input type="file"). String nomFichier = FilenameUtils.getName(item.getName()); if(nomFichier.endsWith(".xls")){ InputStream is = item.getInputStream(); Principale controleur = Metier.MetierFactory.getPrincipale(); controleur.lireSauvegardeExcel(is); nbLivres = principale.getNbLivreTotalBDD(); context.setAttribute("nbLivres", nbLivres); } } } } catch (FileUploadException e) { throw new ServletException("Échec de l'analyse de la requête multipart.", e); } this.getServletContext().getRequestDispatcher(this.VUE).forward( request, response ); } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }