package io.bitbucket.NombreDeUsuario.jee05.servlets; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import io.bitbucket.NombreDeUsuario.jee05.colecciones.Libros; import io.bitbucket.NombreDeUsuario.jee05.generadores.DocumentoCsv; import io.bitbucket.NombreDeUsuario.jee05.generadores.DocumentoHtml; import io.bitbucket.NombreDeUsuario.jee05.generadores.DocumentoJson; import io.bitbucket.NombreDeUsuario.jee05.generadores.DocumentoXml; import io.bitbucket.NombreDeUsuario.jee05.pojos.Libro; @WebServlet( urlPatterns = { "/ServletSerializacionDatosTextoPlano", "/serializacion-de-datos" } ) public class ServletSerializacionDatosTextoPlano extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String formatoSolicitado = request.getParameter("formato"); if (formatoSolicitado == null) { formatoSolicitado = ""; } response.setCharacterEncoding("UTF-8"); PrintWriter salida = response.getWriter(); /* Obtención de Datos */ List listaLibros = Libros.aGenerar(10); switch (formatoSolicitado) { case "csv": response.setContentType("text/csv"); response.setHeader("Content-Disposition", "inline; filename=\"libros.csv\""); // response.setHeader("Content-Disposition", "attachment; filename=\"libros.csv\""); salida.println(DocumentoCsv.deLibros(listaLibros)); break; case "xml": response.setContentType("application/xml"); response.setHeader("Content-Disposition", "inline; filename=\"libros.xml\""); // response.setHeader("Content-Disposition", "attachment; filename=\"libros.xml\""); salida.println(DocumentoXml.deLibros(listaLibros)); break; case "json": response.setContentType("application/json"); response.setHeader("Content-Disposition", "inline; filename=\"libros.json\""); // response.setHeader("Content-Disposition", "attachment; filename=\"libros.json\""); salida.println(DocumentoJson.deLibros(listaLibros)); break; default: response.setContentType("text/html"); salida.println(DocumentoHtml.deError()); break; } } }