2004 IR Help Posted August 22, 2006 Share Posted August 22, 2006 By: joanne - joanne_loh new in jasper reports 2005-06-06 02:02 i'm new in jasper reports. i would seriously need help. i started using iReport for for design to design a jrxml file. then i would like my jsp page to call jasper report and compile in when it is call only together woth the database connection import java.sql.Connection; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.xml.JRXmlLoader; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.view.JasperViewer; /* import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.xml.JRXmlLoader; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.view.JasperViewer; */ import java.sql.DriverManager; public class CustSys { public static void main(String[] args) { try { JasperDesign jasperDesign = JRXmlLoader.load("C:/iReport-0.4.1/CIS.jrxml"); System.out.println("compile1"); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); Map parameters = new HashMap(); parameters.put("Title", "Customer Information"); Connection conn = null; try { Class.forName ("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost/cust"); } catch (ClassNotFoundException e) { System.out.println("Error loading driver: " + e.getMessage()); } JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn); //JasperManager.printReportToPdfFile(jasperPrint,"CIS.pdf"); JasperExportManager.exportReportToPdfFile(jasperPrint, "CIS.pdf"); JasperViewer.viewReport(jasperPrint,false); } catch (JRException e) { e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } seems like i got tis error Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/digester/SetTopRule at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:295) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:330)..etc By: alanHardwick - alan314 RE: new in jasper reports 2005-06-06 05:45 Looks like you are missing commons-digester-1.3.jar from your classpath (and more than likely the other libraries that jasper requires,, about 6-7 or them if I remember right). By: joanne - joanne_loh RE: new in jasper reports 2005-06-06 17:13 tis is the classpath i set .;C:Tomcat4129sharedlibmysql-connector-java-3.1.7-bin.jar;C:Tomcat4129commonlibservlet.jar;C:jasperreports-0.6.6libcommons-beanutils-1.5.jar;C:jasperreports-0.6.6libcommons-collections-2.1.jar;C:jasperreports-0.6.6libcommons-digester-1.3.jar;C:jasperreports-0.6.6libcommons-logging-1.0.2.jar;C:jasperreports-0.6.6libcommons-logging-api-1.0.2.jar;C:jasperreports-0.6.6libjasperreports-0.6.6.jar;C:jasperreports-0.6.6libxercesImpl.jar;C:jasperreports-0.6.6src. is it correct? the jar file i point in the lib folder which is already there. By: joanne - joanne_loh RE: new in jasper reports 2005-06-06 17:19 btw, tis is my code: import java.sql.Connection; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.*; //import net.sf.jasperreports.engine.xml.*; import net.sf.jasperreports.engine.xml.JRXmlLoader; import net.sf.jasperreports.engine.design.*; import net.sf.jasperreports.view.*; import database.*; //import database.database.*; /* import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.xml.JRXmlLoader; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.view.JasperViewer; import database.Database; //String classpath = (String)request.getSession().getServletContext().getAttribute("org.apache.catal ina.jsp_classpath"); //System.setProperty("jasper.reports.compile.class.path", classpath); */ public class CIS { public static void main(String[] args) { // load JasperDesign from XML and compile it into JasperReport try { JasperDesign jasperDesign = JRXmlLoader.load("CIS.xml"); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); // create a map of parameters to pass to the report. Map parameters = new HashMap(); parameters.put("Title", "Customer Information"); // get a database connection Connection conn = Database.getConnection(); // create JasperPrint using fillReport() method JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn); // You can use JasperPrint to create PDF JasperExportManager.exportReportToPdfFile(jasperPrint, "CIS.pdf"); // Or to view report in the JasperViewer JasperViewer.viewReport(jasperPrint); } catch (JRException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } By: joanne - joanne_loh RE: new in jasper reports 2005-06-06 17:45 my database : package database; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; public class Database { private static Connection conn; private static int count = 0; private static String lock="lock"; private Database() { } public static Connection getConnection() throws SQLException { synchronized (lock) { if (conn == null || conn.isClosed()) { createConnection(); } return conn; } } public static void closeConnection() throws SQLException { synchronized (lock) { if (conn != null && !conn.isClosed()) { System.out.println("Closing connection"); conn.close(); } } } private static void createConnection() throws SQLException { try { String url = "jdbc:mysql://localhost/cust"; Class.forName ("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url); System.out.println("Creating connection"); } catch (ClassNotFoundException e) { System.out.println("Error loading driver: " + e.getMessage()); } } public static boolean test() { Statement stmt = null; ResultSet rs = null; try { Connection con = getConnection(); stmt = con.createStatement(); rs = stmt.executeQuery("select * from cust_info"); while (rs.next()) { System.out.println(rs.getString("Acc_Name")); System.out.println(rs.getString("Address")); System.out.println(rs.getString("State")); System.out.println(rs.getString("Phone")); System.out.println(rs.getString("Fax")); System.out.println(rs.getString("Segment")); } } catch (Exception e ) { System.out.println("Error during test :" + e.getMessage()); e.printStackTrace(); return false; } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); // if (count++%5 == 0) closeConnection(); } catch (Exception ex) { System.out.println("Error closing resultset or connection " + ex.getMessage()); ex.printStackTrace(); } } return true; } public static void main(String[] args) { System.out.println(test()?"SUCCESS":"FAILURE"); } } By: joanne - joanne_loh RE: new in jasper reports 2005-06-06 19:12 tis is my error Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/di gester/SetTopRule at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(J RXmlDigesterFactory.java:295) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:330 ) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:295 ) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:279 ) at CIS.main(CIS.java:38) Press any key to continue... By: joanne - joanne_loh RE: new in jasper reports 2005-06-06 21:09 my most current error: Exception in thread "main" java.lang.NoClassDefFoundError: org/w3c/dom/ranges/DocumentRange at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source) at net.sf.jasperreports.engine.util.JRStyledTextParser.<init>(JRStyledTextParser.java:103) at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:91) at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:83) at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:75) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:68) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:248) at CIS.main(CIS.java:63) wat does tis mean? By: joanne - joanne_loh RE: new in jasper reports 2005-06-07 01:09 problem solved!! thanks Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now