ejecutar un java desde JSP
Publicado por Jaime (1 intervención) el 09/02/2008 17:58:03
Hola a tods y sobre todo a los que me puedan ayudar..
Tengo un problema cree una clase en Java que se conecta una BD, y luego genera un reporte de Ireport, el punto es de como hago que eso que hice en Java lo pueda invocar desde JSP, lo unico que tengo es esto
package reportes;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperCompileManager;
//import org.apache.log4j.*;
public class graficomes {
static Connection conn = null;
public static void main(String[] args) {
try {
Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
}
catch (ClassNotFoundException e) {
System.out.println("Sybase JDBC Driver not found.");
System.exit(1);
}
try {
conn = DriverManager.getConnection("jdbc:sybase:Tds:xxx.xxx.xxx.xxx", "JAOLVA00", "PASSWORD");
conn.setAutoCommit(false);
}
catch (SQLException e) {
System.out.println("Error de conexión: " + e.getMessage());
System.exit(4);
}
try {
Map parameters = new HashMap();
parameters.put("sql_query", new String("select sum(FacMtoRec_$$), datepart(mm,FacFecPgo_fc),datepart(yy,FacFecPgo_fc)from Facturas where datepart(yy,FacFecPgo_fc) Between 2005 And 2008 group by datepart(mm,FacFecPgo_fc), datepart(yy,FacFecPgo_fc) order by datepart(yy,FacFecPgo_fc), datepart(mm,FacFecPgo_fc"));
JasperReport report = JasperCompileManager.compileReport(
"reports\grafico.jrxml");
JasperPrint print = JasperFillManager.fillReport(report, parameters, conn);
JasperExportManager.exportReportToPdfFile(print, "grafico.html");
JasperViewer.viewReport(print, false);
}
catch (Throwable e) {
if (e instanceof Exception)
System.out.println("Mensaje:" + ( (Exception) e));
e.printStackTrace();
}
finally {
try {
if (conn != null) {
conn.rollback();
System.out.println("ROLLBACK EJECUTADO");
conn.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
public graficomes() {
}
}
como lo pueo hacer ...
Tengo un problema cree una clase en Java que se conecta una BD, y luego genera un reporte de Ireport, el punto es de como hago que eso que hice en Java lo pueda invocar desde JSP, lo unico que tengo es esto
package reportes;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperCompileManager;
//import org.apache.log4j.*;
public class graficomes {
static Connection conn = null;
public static void main(String[] args) {
try {
Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
}
catch (ClassNotFoundException e) {
System.out.println("Sybase JDBC Driver not found.");
System.exit(1);
}
try {
conn = DriverManager.getConnection("jdbc:sybase:Tds:xxx.xxx.xxx.xxx", "JAOLVA00", "PASSWORD");
conn.setAutoCommit(false);
}
catch (SQLException e) {
System.out.println("Error de conexión: " + e.getMessage());
System.exit(4);
}
try {
Map parameters = new HashMap();
parameters.put("sql_query", new String("select sum(FacMtoRec_$$), datepart(mm,FacFecPgo_fc),datepart(yy,FacFecPgo_fc)from Facturas where datepart(yy,FacFecPgo_fc) Between 2005 And 2008 group by datepart(mm,FacFecPgo_fc), datepart(yy,FacFecPgo_fc) order by datepart(yy,FacFecPgo_fc), datepart(mm,FacFecPgo_fc"));
JasperReport report = JasperCompileManager.compileReport(
"reports\grafico.jrxml");
JasperPrint print = JasperFillManager.fillReport(report, parameters, conn);
JasperExportManager.exportReportToPdfFile(print, "grafico.html");
JasperViewer.viewReport(print, false);
}
catch (Throwable e) {
if (e instanceof Exception)
System.out.println("Mensaje:" + ( (Exception) e));
e.printStackTrace();
}
finally {
try {
if (conn != null) {
conn.rollback();
System.out.println("ROLLBACK EJECUTADO");
conn.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
public graficomes() {
}
}
como lo pueo hacer ...
Valora esta pregunta


0