Could not load object from location !
i have made a web application and want to display report regarding employees:e.g "dailyattendancereport.jasper" with two subreport:
when i generate this report the server encountered the following exception:
net.sf.jasperreports.engine.JRException: Could not load object from location : DailyAttendanceSubReport.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObje ctFromLocation(JRLoader.java:269)
at net.sf.jasperreports.engine.fill.JRFillSubreport.e valuate(JRFillSubreport.java:331)
at net.sf.jasperreports.engine.fill.JRFillBand.evalua te(JRFillBand.java:353)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillColumnBand(JRVerticalFiller.java:1251)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillDetail(JRVerticalFiller.java:586)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillReportStart(JRVerticalFiller.java:226)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillReport(JRVerticalFiller.java:129)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:953)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:780)
at net.sf.jasperreports.engine.fill.JRFiller.fillRepo rt(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fill Report(JasperFillManager.java:247)
at org.apache.jsp.Jsp.GenerateDaily_jsp._jspService(G enerateDaily_jsp.java:127)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invo keInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(Co yoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(P oolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
my jsp code is:
<%@ page errorPage="error.jsp" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.util.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*" %>
<%@ page import="net.sf.jasperreports.engine.JasperReport" %>
<%@ page import="net.sf.jasperreports.engine.JRException" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.UTFDataFormatException" %>
<!-- <%@ page import="java.awt.Image" %>
<%@ page import="java.lang.Object" %> -->
<!-- <%@ page import="java.io.InputStream" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>-->
<%
JRProperties.setProperty(
JRProperties.COMPILER_CLASSPATH,
application.getRealPath("/WEB-INF/lib/jasperreports-1.0.1.jar") +
System.getProperty("path.separator") +
application.getRealPath("Jsp/WEB-INF/classes/")
);
JRProperties.setProperty(
JRProperties.COMPILER_TEMP_DIR,
application.getRealPath("Jsp/edb-jasperreports-2.0/")
);
JasperCompileManager.compileReportToFile(applicati on.getRealPath("Jsp/edb-jasperreports-2.0/DailyAttendanceSubReport.jrxml"));
%>
<% String AttendanceDate = request.getParameter("AttendanceDate");
File reportFile = new
File(application.getRealPath("Jsp/edb-jasperreports-2.0/DailyAttendance.jasper"));
File dasr = new File(application.getRealPath("Jsp/edb-jasperreports-2.0/DailyAttendanceSubReport.jasper" ));
File dasr1 = new File(application.getRealPath("Jsp/edb-jasperreports-2.0/DailyAttendanceSubReportCOut.jasper"));
JasperReport
jasperReport =(JasperReport)JRLoader.loadObjectFromLocation(rep ortFile.getPath());
JasperReport jasperReport1 =(JasperReport)JRLoader.loadObjectFromLocation(das r.getPath());
JasperReport jasperReport2 =(JasperReport)JRLoader.loadObjectFromLocation(das r1.getPath());
if (!reportFile.exists()||!dasr.exists()||!dasr1.exis ts())
throw new JRRuntimeException("File DailyAttendance.jasper not found. The report design must be compiled first.");
Map parameters = new HashMap();
parameters.put("AttendanceDate",AttendanceDate);
parameters.put("DailyAttendance", jasperReport);
parameters.put("DailyAttendanceSubReport", jasperReport1);
parameters.put("DailyAttendanceSubReportCOut", jasperReport2);
//response.setContentLength(bytes.length);
//creates an jdbc connection
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Edbtms");
JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport,
parameters,
con
);
StringBuffer sbuffer = new StringBuffer();
JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_P RINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_W RITER, out);
exporter.setParameter(JRHtmlExporterParameter.IS_U SING_IMAGES_TO_ALIGN, Boolean.FALSE);
exporter.exportReport();
%>
================================================== ==============
|