ozkar2c Posted August 11, 2009 Share Posted August 11, 2009 Hi everyone!! I´m new in jasperreports and I desgins a couple of reports and they works but I have troubles when I invoque them in my jsp page, it can not find subreport's path.I work with netbeans and GlassFish this is my directorie's structure this is my jsp file package Mantenimiento.Comercio.CartaCupo.reportes;/uploads/projects/jasperreports/p1.JPGthis is my jsppackage Mantenimiento.Comercio.CartaCupo.reportes;<%-- Document : Reportes Created on : 08-ene-2009, 20:30:51 Author : Geniz --%><%@page contentType="text/html" pageEncoding="UTF-8"%> }<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">/*importamos las librerías de JasperReports*/<%@ page import="net.sf.jasperreports.engine.*" %><%@ page import="java.util.*" %><%@ page import="java.io.*" %><%@ page import="java.sql.*,ALGOSA.Mantenimiento.Reporteo.*,ALGOSA.Mantenimiento.util.*,Comercio.Pedimento.*,java.util.Date" %><jsp:useBean id="beanFiltroCC" scope="session" class="ALGOSA.Seguridad.Manager.Bean.BeanFiltroCC" /><% /*Parametros para realizar la conexión*/String folio = request.getParameter("folio");if(beanFiltroCC.getCurrentCartaCupo() == null) beanFiltroCC.setCurrentCartaCupo(new CartaCupo());if(folio != null && (!folio.equals("") && !folio.equals("0")) ){ beanFiltroCC.getCurrentCartaCupo().setFolio(new Long(folio));}Connection conexion; Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();conexion = DriverManager.getConnection("jdbc:microsoft:sqlserver://dbhost:1433;DatabaseName=ALGOSAFis;SelectMethod=cursor","sa","sa");/*Establecemos la ruta del reporte*/File reportFile = new File(application.getRealPath(beanFiltroCC.getUtileria().getRutaReportesCC() + "CartaCupoRpt.jasper"));/*No enviamos parámetros porque nuestro reporte no los necesita asi que escriba cualquier * cadena de texto ya que solo seguiremos el formato del método runReportToPdf*/String sFolio = "";for(int i = 0; i < String.valueOf(beanFiltroCC.getCurrentCartaCupo().getFolio()).length();i++){ sFolio += String.valueOf(beanFiltroCC.getCurrentCartaCupo().getFolio()).charAt(i) + " ";}final String sFolio2 = sFolio;Map parameters = new HashMap();parameters.put("folioCC", new Long(beanFiltroCC.getCurrentCartaCupo().getFolio()));parameters.put("sFolioCC", sFolio);parameters.put("SUBREPORT_DIR", beanFiltroCC.getUtileria().getRutaReportesCC());/*Enviamos la ruta del reporte, los parámetros y la conexión(objeto Connection)*/byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parameters, conexion);/*Indicamos que la respuesta va a ser en formato PDF*/response.setContentType("application/pdf");response.setContentLength(bytes.length);ServletOutputStream ouputStream = response.getOutputStream();ouputStream.write(bytes, 0, bytes.length);/*Limpiamos y cerramos flujos de salida*/ouputStream.flush();ouputStream.close(); conexion = DriverManager.getConnection("jdbc:microsoft:sqlserver://dbhost:1433;DatabaseName=ALGOSAFis;SelectMethod=cursor","sa","sa"); JasperReport report = JasperCompileManager.compileReport(beanFiltroCC.getUtileria().getRutaReportesCC() + "CartaCupoRpt.jrxml");JasperPrint print = JasperFillManager.fillReport(report, parameters, conexion);// Exporta el informe a PDFJasperExportManager.exportReportToPdfFile(print,"C:\" + beanFiltroCC.getCurrentCartaCupo().getFolio() + ".pdf");conexion.close();%> and this is the exceptionStandardWrapperValve[jsp]: PWC1406: Servlet.service() para el servlet jsp desencadenó una excepciónnet.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: C:OperacionFiscalSistemaSrcALGOSA-FisbuildwebSrv09fisDOperacionFiscalSistemaSrcrptALGOSAFisCartaCupo CartaCupoRpt.jasper at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:75) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:232) at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:203) at org.apache.jsp.Mantenimiento.Comercio.CartaCupo.reportes.CartaCupo_jsp._jspService(CartaCupo_jsp.java from :101) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)Caused by: java.io.FileNotFoundException: C:OperacionFiscalSistemaSrcALGOSA-FisbuildwebSrv09fisDOperacionFiscalSistemaSrcrptALGOSAFisCartaCupo CartaCupoRpt.jasper ... 37 more if I put explicit paths It work but it is not the idea at all.Could somebody help me?? Link to comment Share on other sites More sharing options...
Teodor Danciu Posted August 12, 2009 Share Posted August 12, 2009 Hi, Take a look at the /demo/samples/webapp sample application shipped with the JR project distribution package.You'll see how JR could be deployed in Web environment. I hope this helps.Teodor 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