Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/12/2006, 04:53
sito-ito
 
Fecha de Ingreso: diciembre-2006
Mensajes: 31
Antigüedad: 17 años, 5 meses
Puntos: 0
Llamar a un servlet que genera pdf

Hola quiero conseguir desde mi aplicacion que me genere un documento pdf utilizando ireport.
El caso es que creo que el tema de como hacer el pdf lo tengo solucionado o eso creo pero lo que me falla es como llamar al servet cuando pulso el boton

Yo lo tendo asi en mi documento jsp:

<h:commandButton value="Generar pdf" type=submit/>

aparte tengo puesto la direccion del servlet el el localhost en un form

<form action=localhost/servlet/topdf" method="POST">



¿es asi? Por que cuando pulso el boton no hace nada ¿¿Como seria????

public class toPdf extends HttpServlet {

private static final String CONTENT_TYPE = "application/pdf";


// Initialize global variables
public void init() throws ServletException
{

}

// Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
createReport(request, response);
}

// Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}

public void createReport(HttpServletRequest request, HttpServletResponse response)
{
java.sql.Connection conn = null;

try
{



String reporteJasper ="C:\\Archivos de programa\\JasperSoft\\iReport-1.2.8\\reporte_user.jasper" ;


UserBean user = new UserBean();

user.CogerDatos();

Map parameters = new HashMap();

parameters.put("nombre",request.getParameter("NOMB RE"));
parameters.put("password",request.getParameter("PA SS"));
parameters.put("pais",request.getParameter("PAIS") );
parameters.put("aboutyou",request.getParameter("AB OUTYOU"));



/*
* Tambien podria ir poner una conexion nula,
* ya que no saco datos de ninguna conexion
*
* Connection conexion = null;
*/


byte[] bytes = JasperRunManager.runReportToPdf(reporteJasper, parameters, conn);

// JasperPrint jp = JasperFillManager.fillReport(reporteJasper,paramet ers);
/*
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
*/
ServletOutputStream outputStream = response.getOutputStream();
//response.setContentType(CONTENT_TYPE);
outputStream.write(bytes,0,bytes.length);
outputStream.flush();
outputStream.close();

/*JasperViewer jv = new JasperViewer(jp, false);

jv.setVisible(false);
*/

//JasperManager.printReportToPdfStream(jasperPrint, oS);

}
catch(Throwable e)
{
}
finally
{
try
{
if(conn != null)
{
conn.close();
}

}
catch (Throwable ex2)
{
System.out.println("*************MENSAJE ERROR = " + ex2.getMessage());
System.out.println("*************CAUSA ERROR = " + ex2.getMessage());
}

}
}