14/05/2007, 08:40
|
| | Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 17 años, 8 meses Puntos: 0 | |
Re: Jasper Report + iReport + NetBeans 4 hola alguien tendria el codigo para pasar un parametro (id) desde un JSP/servlet a un archivo ireport para que lo genere.
el que tengo no funciona, no abre el archivo pdf nose si sera por el mozila, y cuando pego la direccion en el firefox me pone para descargar el pdf y lo genera y se ve pero no importa que parametro pongas siempre lo toma como uno...
si alguien sabe por que o tiene algun codigo que funcione se lo agradeceria
package std;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.*;
import java.sql.*;
import java.io.*;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class loader2 extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
try
{
InputStream in = this.getClass().getResourceAsStream("Ministerio agustin.jasper");
//Pasamos parametros al reporte Jasper.
Map parameters = new HashMap();
int id = Integer.parseInt(request.getParameter("factura_id" )) ;
//paso parametro
parameters.put("$P{PARAM}",new Integer(id));
byte[] bytes = JasperRunManager.runReportToPdf(in, parameters, getConnection());
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
/**Metodo para crear la conexion a DB*/
public static Connection getConnection() throws ClassNotFoundException, SQLException {
//Configuraci?n de la conexi?n.
/*String driver = "com.mysql.jdbc.Driver";
String connectString = "jdbc:mysql://localhost:3306/ono";
String user = "root";
String password = "root";
Class.forName(driver);
Connection conn = DriverManager.getConnection(connectString, user, password);*/
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@123 :1521:123", "123", "123");
//Statement stmt = conn.createStatement();
//ResultSet rset = stmt.executeQuery("select TOTAL from FACTURAS");
//Retornamos la conexi?n establecida.
return conn;
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public String getServletInfo() {
return "Short description";
}
}
****is not linux**** |