Jump to content
We've recently updated our Privacy Statement, available here ×

Correct paths in web application


ozkar2c

Recommended Posts

 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??

 

Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...