Crear un archivo ZIP con servlets
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
http://www.theserverside.com/books/addisonwesley/ServletsJSP/index.tss
Gxis,
Jesús
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...
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 !!!
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 !!!
