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.JPG this 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 PDF JasperExportManager.exportReportToPdfFile(print,"C:\" + beanFiltroCC.getCurrentCartaCupo().getFolio() + ".pdf"); conexion.close(); %> and this is the exception StandardWrapperValve[jsp]: PWC1406: Servlet.service() para el servlet jsp desencadenó una excepción net.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??