How I call a java class from my jsp.. please

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • asti1987
    New Member
    • Dec 2009
    • 1

    #1

    How I call a java class from my jsp.. please

    I have a big problem, y need to print a jasper report, but it must to be with jsp.
    this is my jsp


    please help me

    Code:
    <%@ page import="java.io.*,java.util.*,java.net.*,java.sql.*,imprimir.imprimir" %>
    
    <%
    
    
    if(request.getParameter("GRABAR") != null)
    
    {
    
    // objetos de enlace
    
    Connection canal = null;
    
    ResultSet tabla= null;
    
    Statement instruccion=null;
    
    
    // abriendo canal o enlace en su propio try-catch
    
    try {
    
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    
    canal=DriverManager.getConnection("jdbc:mysql:///cablevision_atc", "root", "");
    
    instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
    
    ResultSet.CONCUR_UPDATABLE);
    
    } catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};
    
    //cargando los campos a grabar
    
    // excepto clave porque en mysql es de tipo auto-increment
    
    int estado = 0;
    
    
    String q="insert into ticket(estado_ticket) values(\"" +estado+"\"); ";
    
    try {
    
    // agregando renglon (insert)
    
    int n=instruccion.executeUpdate(q);
    
    //avisando que se hizo la instruccion
    
    out.println("REGISTRO INSERTADO");
    
    imprimir print = new imprimir();
    
    
    
    
    } catch(SQLException e) {out.println(e);};
    
    try{
    
    // tabla.close();
    
    instruccion.close();
    
    canal.close();
    
    } catch(SQLException e) {out.println(e);};
    
    };
    
    
    
    
    // construyendo forma dinamica
    
    out.println("<FORM ACTION=index.jsp METHOD=post>");
    
    //out.println("NOMBRE :<INPUT TYPE=TEXT NAME=NOMBRE><BR>");
    
    //out.println("EDAD :<INPUT TYPE=TEXT NAME=EDAD><BR>");
    
    //out.println("ESTATURA:<INPUT TYPE=TEXT NAME=ESTATURA><BR>");
    
    out.println("<INPUT TYPE=SUBMIT NAME=GRABAR VALUE=INSERTAR ><BR>");
    
    out.println("</FORM>");
    
    %>
    and this is my class

    Code:
    package imprimir;
    
    import java.sql.*;
    import net.sf.jasperreports.engine.xml.JRXmlLoader;
    import net.sf.jasperreports.engine.JasperCompileManager;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.design.JasperDesign;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.view.JasperViewer;
    
    
    
    public class imprimir {
    
    
        /**
         * Constructor for ReportDriver
         */
        public imprimir() {
    
        }
    
      
        public static Connection connectDB(String databaseName, String userName, String password) {
            Connection jdbcConnection = null;
            try{
                Class.forName("com.mysql.jdbc.Driver").newInstance ();
                jdbcConnection = DriverManager.getConnection("jdbc:mysql:///cablevision_atc", "root", "");
            }catch(Exception ex) {
                String connectMsg = "Could not connect to the database: " + ex.getMessage() + " " + ex.getLocalizedMessage();
                System.out.println(connectMsg);
            }
            return jdbcConnection;
        }
    
       
        public static void runReport(String databaseName, String userName, String password,String reportFile) {
            try{
                JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
                JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
                Connection jdbcConnection = connectDB(databaseName, userName, password);
                JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, jdbcConnection);
                JasperViewer.viewReport(jasperPrint);
                //JasperPrintManager.printPages(jasperPrint,0,jasperPrint.getPages().size()-1,true);
    
    
            }catch(Exception ex) {
                String connectMsg = "Could not create the report " + ex.getMessage() + " " + ex.getLocalizedMessage();
                System.out.println(connectMsg);
            }
        }
    
        
         
        public static void main(String[] args) {
    
                String databaseName = "cablevision_atc";
                String userName = "root";
                String password = "";
                String reportFile = "C:\\wamp\\www\\Cablevision\\JAVA\\ticket.jrxml";
    
                runReport(databaseName, userName, password, reportFile);
    
            return;
    
        } }
Working...