Reputation: 89
Help me out i have an issue with the jasper report over a servlet, error is mentioned below
SEVERE: Allocate exception for servlet JaspersJob_servlet java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JRRuntimeException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1149) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)
Servlet code:
package jasper_job_Print;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.design.JRDesignQuery;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;
public class JaspersJob_servlet extends HttpServlet {
private static final long serialVersionUID = -3478873702336546526L;
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection con=null;
File reportFile = null;
JasperPrint jasperPrint = null;
ResultSet rs=null;
Statement statement = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cloudinterdataset", "root","cosmos123");
reportFile = new File("C:\\abd\\JasperJava\\report10.jasper");
String sql1 = "SELECT * FROM userdetails "
+ "ORDER BY Lastname ";
statement = con.createStatement();
rs = statement.executeQuery(sql1);
if (!reportFile.exists())
throw new JRRuntimeException(
"File WebappReport.jasper not found. The report design must be compiled first.");
} catch(Exception e) {
System.out.println("Exception : "+e);
}
try {
JRResultSetDataSource resultSetDataSource = new
JRResultSetDataSource(rs);
System.out.println("Filling Jasper PDF report...");
JasperReport jasperReport = (JasperReport) JRLoader
.loadObject(reportFile.getPath());
jasperPrint = JasperFillManager.fillReport(jasperReport,null,resultSetDataSource);
System.out.println("Done!");
if (jasperPrint != null)
{
JRExporter exporter = null;
exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT,
jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,
response.getOutputStream());
exporter.exportReport();
} else {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>JasperReports </title>");
out.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("<span class=\"bold\">Empty response.</span>");
out.println("</body>");
out.println("</html>");
}
} catch(Exception e) {
System.out.println("Exception :"+e);
}
}
}
Upvotes: 0
Views: 738
Reputation: 89
Is a very simple solution i did not put the Jar Files in my project lib. Its working now, just got time to post my answer
Upvotes: 0