Crear un archivo ZIP con servlets

PuchiJL
11 de Noviembre del 2004
Hola, como puedo crear un archivo zip con un servlets, gracias

Jes?eyes
11 de Noviembre del 2004
Tal vez deberías ser un poco más explicito sobre que clase de ZIP quieres crear, por ejemplo, si quieres que pueda generar un página comprimida o algo así. En cualquier caso, puedes probar con Filtros, hay una solución parecida a lo que buscas en el libro "Servlets and Java Servers Pages", disponible en línea en:

http://www.theserverside.com/books/addisonwesley/ServletsJSP/index.tss

Gxis,
Jesús

PuchiJL
11 de Noviembre del 2004
Lo que quiero es poder generar un archivo zip a partir de un servlet que me genera un pdf, en otras palabras, generar el pdf y comprimirlo con un servlet, esa es la idea...

xlugo2002
11 de Noviembre del 2004
Mira:

Clase ke realiza el Zipiado de un archivo:

import java.io.File;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Target;
import org.apache.tools.ant.taskdefs.Zip;

public class Zipper extends Zip {

public Zipper(){
project = new Project();
project.init();
taskType = "zip";
taskName = "zip";
target = new Target();
}


public void zip(String destino, String origen) throws BuildException{

Zipper mzipper = new Zipper();
mzipper.setBasedir(new File(origen));
mzipper.setZipfile(new File(destino));
mzipper.execute();

}
}

Este es el codigo del Servlet;

import utilidades.Zipper;
...............

String rutao = getServletConfig().getServletContext().getRealPath("/")+"directorio/";
String rutad = getServletConfig().getServletContext().getRealPath("/")+"directorio"+File.separatorChar+nombre_archivo_zip+".zip";


Zipper az = new Zipper();
az.zip(rutad, rutao);



esta es la direcccion de ANT ke es el ke se ancarga de hacer zipiados y muchas cosas mas:
http://ant.apache.org/

Nec esitas bajar el ant.jar e instalarlo en commonlib de Tomcat

Saludos !!!