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>
}