Re:Wie kann ich ein JasperReport-Bericht in JSP-Webanwendung implementieren?

astare

Grünschnabel
Hallo,

könnten Sie mir bitte bei der Implementierung eines iReportsbericht (in Format test.jrxml oder kompilierte Version test.jasper) in einem Webanwendung helfen?

Meine Idee ist folgendes:

ich habe mir mit iReport 4.0.2 einen Bericht erstellt und diese in iReport ausgeführt. Nach der Ausführung erstellt iReport automatisch zu dem test.jrxml eine test.jasper-Datei.

Ich möchte nun diese Dateien in meinem Webanwendung implementieren! Die Webanwendung habe ich mit Servlet und JSP erstellt!
der Report holt sich die Daten von einem mysql-DB.

Ich möchte nun in meinem Servlet-Klasse eine methode schreiben, welche die JasperReports in Contentbereich meiner Webseite in html und pdf darstellen soll.

die Methode ist wie folgendes aufgebaut: leider gibt Fehlermeldung:(.

HTML:
 	public void Report_Generation() throws ClassNotFoundException, SQLException, JRException
	{
	String fileName = "C:/MY_REPORTS/AnzahlClients.jasper"; // Filename der in iReport compilierten Datei
	String outFileName = "C:/MY_REPORTS/report1out.pdf"; // Filename der gewünschten outputDatei
	HashMap hm = new HashMap();
	
	String driver = "com.mysql.jdbc.Driver";
	String url = "jdbc:mysql://localhost:3306/db_nuggad";
	String user = "Benutzername";
	String password = "password";
	Class.forName(driver);
	//Connection con = DriverManager.getConnection(url,user,password);
	Connection con = DriverManager.getConnection(url, "root", "");
	net.sf.jasperreports.engine.JasperPrint print = net.sf.jasperreports.engine.JasperFillManager.fillReport(fileName, hm, con);
	net.sf.jasperreports.engine.JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
	//net.sf.jasperreports.engine.export.JRPdfExporter exporter1 = new net.sf.jasperreports.engine.export.JRPdfExporter();
	exporter.setParameter(net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_FILE_NAME, outFileName);
	exporter.setParameter(net.sf.jasperreports.engine.JRExporterParameter.JASPER_PRINT, print);
	exporter.exportReport();

die Fehlermeldung:

Code:
 HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Error instantiating servlet class BIPortal.Class.Users
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	java.lang.Thread.run(Thread.java:662)


root cause 

java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JRException
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	java.lang.Class.getConstructor0(Class.java:2699)
	java.lang.Class.newInstance0(Class.java:326)
	java.lang.Class.newInstance(Class.java:308)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	java.lang.Thread.run(Thread.java:662)


root cause 

java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JRException
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	java.lang.Class.getConstructor0(Class.java:2699)
	java.lang.Class.newInstance0(Class.java:326)
	java.lang.Class.newInstance(Class.java:308)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	java.lang.Thread.run(Thread.java:662)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.14 logs.

bitte um Hilfee!

LG. astare
 
Zurück