Berthou.comJava, DB2, Websphere, apache, ma vision de l’informatique… | |
|
Description Cette petite servlet vous permet de recevoir dans un fichier zip le contenu d’une URL donnée en paramètre. Nous vous montrons donc comment créer et envoyer un fichier zip à l’utilisateur. Principe de fonctionnement
Code package javaside.servlet.sample ; /** * zipservlet.java * * Main class for sample servlet * * @author : R. BERTHOU * URL : http://www.berthou.com/ * ----------------------------------------------------------- * Ver * Author * DATE * Description * ....................DD/MM/YY............................... * 1.00 * R.BERTHOU * 12/01/01 * **********************************************************/ import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.zip.*; import java.net.*; import java.util.*; public class zipservlet extends HttpServlet { public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { byte b[]=new byte[300000]; URL url; String temp; ByteArrayOutputStream bout=new ByteArrayOutputStream(); ZipOutputStream zout=new ZipOutputStream(bout); ServletOutputStream out = res.getOutputStream(); ServletContext servletContext = getServletContext(); if ((temp=req.getParameter("url"))!=null) { try { url=new URL(temp); URLConnection uc = url.openConnection(); DataInputStream input = new DataInputStream(uc.getInputStream()); int numRead=0; int size=0; while (numRead != -1) { numRead = input.read(b,size,20000); size+=numRead; } zout.putNextEntry(new ZipEntry("file.html")); zout.write(b,0,size); zout.closeEntry(); zout.finish(); String zip=bout.toString(); res.setContentType("application/zip"); res.setHeader("Content-Disposition","inline; filename=output.zip;"); out.println(zip); out.flush(); } catch (Exception e) { res.setContentType("text/html"); out.println("<html><head></head>"); out.println("<body><b>"); out.println("An error has occured while processing "+temp+""); out.println("Here is the exception: "+e+""); e.printStackTrace(new PrintWriter(out)); out.println("</body>"); out.println("</html>"); } } } } Voir également |
Tagsapplet certificat chart css db2 design dhtml exemple graph itext java javascript jeux jquery linux mysql OpenSource pdf php plugin script servlet source tchart theme webdesign websphere wordpress www zipArticles récentsCommentaires récents
|
|
| |
2 réponses pour"Servlet - zipservlet"
Très bonne source.
Par contre l’url passée en paramètre ne peut être qu’un fichier html à ce que je vois et la page ne peut dépassée 300000 octets soit 300 Ko, ce qui peut être limitant.
Rien de bien grave, facilement modifiable à la main.
Merci pour ce petit ^bout de code bien pratique ^^
Oui pour des raisons de simplicité, le but de ce source est de proposer un exemple d’utilisation. C’est une base pour réaliser un développement plus complexe.
Ajouter une réponse