Récupération de l'OutputStream (response est le paramètre HttpServletResponse de ta méthode doGet) :
Code :
 - OutputStream out = response.getOutputStream();
 
  | 
 Dans zipIt, tu peux remplacer le FileOutputStream (fos) par out.
 Code :
 - public ZipOutputStream zipIt(OutputStream out) {
 -     //String sReturn = "sReturnb_KO";
 -     byte[] buffer = new byte[1024];
 -     ZipOutputStream zos = null;
 -     try{
 -       // branchement du ZipOutputStream sur out
 -       zos = new ZipOutputStream(out);
 -       for(String file : this.fileList){
 -         System.out.println("File Added : " + file);
 -         ZipEntry ze= new ZipEntry(file);
 -         zos.putNextEntry(ze);
 -         FileInputStream in =
 -             new FileInputStream(SOURCE_FOLDER + File.separator + file);
 -         System.out.println("FileInputStream : "+SOURCE_FOLDER + File.separator + file);
 -         int len;
 -         while ((len = in.read(buffer)) > 0) {
 -           zos.write(buffer, 0, len);
 -         }
 -         in.close();
 -       }
 -       zos.closeEntry();
 -       zos.close();
 -       //sReturn = "sReturnb_OK";
 -       System.out.println("Done" );
 -     }catch(IOException ex){
 -       ex.printStackTrace();
 -     } finally {
 -       // fermeture du flux
 -       if (zos != null) {
 -         try {
 -           zos.flush();
 -           zos.close();
 -         } catch (IOException e) {
 -           e.printStackTrace();
 -         }
 -       }
 -     }
 -     return zos;
 -   }
 
  | 
 NB : j'ai aussi ajouté la fermeture du flux dans le bloc finally
 
Message édité par Bidem le 26-03-2014 à 12:15:05