Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/12/2010, 16:39
Avatar de eaanillol
eaanillol
 
Fecha de Ingreso: septiembre-2010
Ubicación: Bogota - Colombia
Mensajes: 25
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: aplicacion flash + jsp +servlet + iReport + apacheTomcat + MySql

El codigo desde mi index. jsp es:
Código jsp:
Ver original
  1. <%--
  2.     Document   : index
  3.     Created on : Dec 13, 2010, 3:18:13 PM
  4.     Author     : ventas
  5. --%>
  6.  
  7. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  9.    "http://www.w3.org/TR/html4/loose.dtd">
  10.  
  11. <%-- Inserto las librerias --%>
  12. <%@page import = "java.util.*" %>
  13. <%! String msg = "Esta es un frase de un variable";%>
  14.  
  15. <%-----------------------------------------------------------%>
  16. <%-- Aquí comienza la pagina HTML --%>
  17. <%-----------------------------------------------------------%>
  18. <html>
  19.     <head>
  20.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  21.         <%-- Le coloco el título a la página --%>
  22.         <title>Mi página de JSP</title>
  23.     </head>
  24.     <body>
  25.         <h1>Hello World!</h1>
  26.        
  27.         <br>
  28.         <%-----------------------------------------------------------%>
  29.         <%-- Fase de captura de datos --%>
  30.         <%-----------------------------------------------------------%>
  31.         <%
  32.            /*Le digo en que formato quiero los datos*/
  33.            request.setCharacterEncoding("UTF-8");
  34.            /*Capturo el parámetro enviado*/
  35.            String a = request.getParameter("id");
  36.            /*Le asigno el valor a al variable global*/
  37.            msg = a;
  38.          %>
  39.          <%= msg%>
  40.         <%-----------------------------------------------------------%>
  41.         <%-----------------------------------------------------------%>
  42.         <%-- Link de descargar del archivo --%>
  43.         <p>Para descargar el archivo haga clic
  44.             <a href="http://localhost:8084/miWeb/servletReporte2?id=<%= msg %>"  >aquí</a>
  45.         </p>
  46.         <%-- Imprimo la fecha --%>
  47.         <% out.println(""+ new Date());%>
  48.     </body>
  49. </html>

y en mi servlet tengo:
Código java:
Ver original
  1. package pkgreporte;
  2.  
  3. import java.io.File;
  4. import java.util.HashMap;
  5.  
  6. import javax.servlet.ServletOutputStream;
  7. import net.sf.jasperreports.engine.JRException;
  8. import net.sf.jasperreports.engine.JasperRunManager;
  9.  
  10.  
  11. import java.io.IOException;
  12. import java.io.PrintWriter;
  13. import java.io.StringWriter;
  14. import java.sql.Connection;
  15. import java.sql.DriverManager;
  16. import java.util.Map;
  17. import javax.servlet.ServletException;
  18. import javax.servlet.http.HttpServlet;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21.  
  22.  
  23.  
  24. /**
  25.  *
  26.  * @author MRARRB87
  27.  */
  28. public class servletReporte extends HttpServlet {
  29.  
  30.  
  31.  
  32.  
  33.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  34.     throws ServletException, IOException {
  35.  
  36.  
  37.         response.setHeader("Cache-Control","no-cache");  //Para evitar el cache
  38.         response.setHeader("Pragma","no-cache");
  39.         response.setDateHeader ("Expires", 0);
  40.  
  41.         response.setContentType("application/pdf");
  42.         response.setHeader("Content-Disposition","attachment; filename=\"reporteServlet.pdf\";");
  43.  
  44.  
  45.  
  46.        
  47.  
  48.         Connection conn=null;
  49.         try {
  50.             Class.forName("com.mysql.jdbc.Driver"); //se carga el driver
  51.             conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/bd_reporte_servlet","root","root");
  52.         }
  53.         catch (Exception ex) {
  54.             ex.printStackTrace();
  55.         }
  56.          
  57.         ServletOutputStream servletOutputStream = response.getOutputStream();
  58.         File reportFile = new File(getServletConfig().getServletContext().getRealPath("servlet_reporte.jasper"));
  59.  
  60.         Map parameters = new HashMap();
  61.  
  62.         int id_tipoperosona=1;
  63.  
  64.         parameters.put("Pid_tipo_persona",id_tipoperosona); //envio de parametros al reporte
  65.  
  66.         byte[] bytes = null;
  67.  
  68.         try {
  69.             bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),parameters, conn);
  70.            
  71.             response.setContentType("application/pdf");
  72.             response.setContentLength(bytes.length);
  73.  
  74.             servletOutputStream.write(bytes, 0, bytes.length);
  75.             servletOutputStream.flush();
  76.             servletOutputStream.close();
  77.         } catch (JRException e){
  78.             // display stack trace in the browser
  79.             StringWriter stringWriter = new StringWriter();
  80.             PrintWriter printWriter = new PrintWriter(stringWriter);
  81.             e.printStackTrace(printWriter);
  82.             response.setContentType("text/plain");
  83.             response.getOutputStream().print(stringWriter.toString());
  84.         }
  85.     }
  86.  
  87.     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  88.     /**
  89.      * Handles the HTTP <code>GET</code> method.
  90.      * @param request servlet request
  91.      * @param response servlet response
  92.      * @throws ServletException if a servlet-specific error occurs
  93.      * @throws IOException if an I/O error occurs
  94.      */
  95.     @Override
  96.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  97.     throws ServletException, IOException {
  98.         processRequest(request, response);
  99.     }
  100.  
  101.     /**
  102.      * Handles the HTTP <code>POST</code> method.
  103.      * @param request servlet request
  104.      * @param response servlet response
  105.      * @throws ServletException if a servlet-specific error occurs
  106.      * @throws IOException if an I/O error occurs
  107.      */
  108.     @Override
  109.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  110.     throws ServletException, IOException {
  111.         processRequest(request, response);
  112.     }
  113.  
  114.     /**
  115.      * Returns a short description of the servlet.
  116.      * @return a String containing servlet description
  117.      */
  118.     @Override
  119.     public String getServletInfo() {
  120.         return "Short description";
  121.     }// </editor-fold>
  122.  
  123. }