Saludos de nuevo Foro de nadie,otra vez con su valiosisima ayuda se han dicipado mis dudas, ahora tengo otra bronca, no se ni por que me molesto si nadie contesta pero bueno, ahora trato de implementarlo todo en un servlet y estoy trabajando con tomcat 5.0.19 (este es mi servidor web en fedora 7) y el cual hace referencia a una carpeta (esta configurado para que busque proyectos de trabajo en la carpeta) llamada “curso” (curso se encuentra en /root/), dentro de curso se crearon las carpetas “IMG” y “WEB-INF” y dentro de “WEB-INF” estan las carpetas “classes” y “lib”
El archivo izquierda.jsp se encuentra ubicado en la carpeta “curso” y este se encarga de ejecutar el servlet “jasper.java” que se encuentra en la carpeta “classes”, dentro del codigo de jasper.java, se tiene que leer un archivo externo (tres.jrxml) el cual esta ubicado en la carpeta “curso” y en la carpeta “classes” (pa mas seguro).
Pero cuando se ejecuta el servlet (jasper.java), muestra un error “Exception can’t find the file or directory /curso/tres,jrxml”
Haciendo los respectivos cambios, jasper.java funciona perfectamente desde linea de comandos y basta con que ponga el archivo tres,jrxml en el mismo directorio de jasper.java, oviamente, cuando se hacen las modificaciones a jasper.java para que funcione desde linea de comandos, no se utiliza el archivo izquierda.jsp.
Mis dudas son:
• Tengo que pasar la ruta completa del archivo tres.jrxml? (cosa que ya intente y no funciono)
• Existe alguna regla de seguridad que deba cambiar al tomcat para que jasper.java pueda llamar al archivo externo tres.jrxml?
• Existe alguna rregla de seguridad del sistema que deba cambiar?
• Cual es?
• Para llamar a tres.jrxml desde el servlet utilizo request.getContextPath()+"/tres.jrxml";
• Debo cambiarlo?
• Que debo poner?
• Que me sugieren?
• La ubicación de mis archivos es correcta?
De antemano muchas gracias, este es el codigo de los archivos que utilizo.
=======izquierda.jsp============================== ==========
<html>
<head>
<%@page language="java" import="java.io.*"%>
</head>
<BODY>
<h3> &nbs p; BUSCADOR</h3>
<form action="<%=request.getContextPath()%>/servlet/jasper" method="post">
<table>
<tr>
<td>Localidad:</td>
<td>
<select name="localidad">
<option value="Zacatepec">Zacatepec.
<option value="Jojutla">Jojutla.
<option value="Cuernavaca">Cuernavaca.
<option value="Yautepec">Yautepec.
</select>
</td>
</tr>
<tr>
<td>Especialidad:</td>
<td>
<select name="Esp">
<option value="Informatica">Informatica.
<option value="Sistemas">Sistemas.
<option value="Industrial">Industrial.
<option value="Civil">Civil.
<option value="Bioquimica">Bioquimica.
</select>
</td>
</tr>
<tr>
<td>Promedio:</td>
<td>
<input type="text" name="promedio" id="prom" size="11">
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="radio" name="sexo" value="masculino">Masculino</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="radio" name="sexo" value="femenino">Femenino</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="radio" name="sexo" value="ambos" checked>Ambos</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="guardar" value="BUSCAR"></td>
</tr>
</table>
</form>
</BODY>
</html>
=====fin izquierda.jsp===================================== ========
=====jasper.java================================== ==============
import javax.servlet.http.*;
import java.io.*;
//import java.sql.Connection;
//import java.sql.DriverManager;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperCompileManager;
import javax.servlet.ServletException;
public class jasper extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException {
response.setContentType("text/html");
PrintWriter web = response.getWriter();
try{
String loc=request.getParameter("localidad");
String esp=request.getParameter("Esp");
String prom=request.getParameter("promedio");
String gen=request.getParameter("sexo");
web.println(loc);
web.println(esp);
web.println(prom);
web.println(gen);
Map parameter = new HashMap();
web.println("Iniciando...");
/*Se manda traer el archivo tres.jrxml y se crea el archivo “tres.jasper” */
JasperCompileManager.compileReportToFile(request.g etContextPath()+"/tres.jrxml");
web.println("Se ha compilado el reporte...");
web.println("llenando el reporte..."+parameter);
/*Se manda a traer el archivo tres.jasper y se crea tres.jrprint*/
JasperFillManager.fillReportToFile(request.getCont extPath()+"/tres.jasper", parameter,new JREmptyDataSource());
web.println("Reporte lleno.");
web.println("Exportando .............");
/*Se manda a traer el erchivo tres.jrprint y se exporta a HTML*/ JasperExportManager.exportReportToHtmlFile(request .getContextPath()+"/tres.jrprint",request.getContextPath()+"derecha.ht ml");
//web.println("Se ha creado el archivo en HTML.......Fin del prosedimiento.");
}catch(Exception e){
web.println("Ocurrio un error en main:"+e);
}
}
}
=====fin jasper.java============================
=====tres.jrxml================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="tres">
<style name="Arial_Bold" isDefault="false" fontName="Arial" fontSize="12" isBold="true" />
<style name="centeredText" hAlign="Left" vAlign="Middle"/>
<style name="PanchoStyle" hAlign="Center" vAlign="Middle"/>
<style name="boldCentered" style="centeredText" isBold="true"/>
<style name="backgroundStyle" style="boldCentered" forecolor="lightGray" fontSize="90"/>
<parameter name="TITULO" class="java.lang.String" isForPrompting="false"/>
<!--
<background>
<band height="782">
<staticText>
<reportElement x="-100" y="-50" width="800" height="782" style="backgroundStyle" mode="Transparent"/>
<textElement rotation="None"/>
<text>
<![CDATA[PANCHO ]]>
</text>
</staticText>
</band>
</background>
-->
<title>
<band height="24" isSplitAllowed="true">
<textField>
<reportElement x="0" y="4" width="550" height="20" mode="Opaque" forecolor="#ffffff" backcolor="#333333" style="Arial_Bold" positionType="FixRelativeToTop" />
<textElement textAlignment="Center" />
<textFieldExpression class="java.lang.String">
$P{TITULO}
</textFieldExpression>
</textField>
<!-- <textField>
<reportElement x="0" y="50" width="200" height="20"/>
<textFieldExpression class="java.util.Date"><![CDATA[$P{FECHA} ]]> </textFieldExpression>
</textField>
-->
</band>
</title>
<detail>
<band height="600">
<staticText>
<reportElement x="0" y="100" width="555" height="20" mode="Transparent" style="PanchoStyle" />
<text><![CDATA[HOLA MUNDO ]]> </text>
</staticText>
<staticText>
<reportElement x="0" y="120" width="555" height="20" mode="Transparent" style="PanchoStyle" />
<text><![CDATA[TEXTO ESTATICO ]]> </text>
</staticText>
</band>
</detail>
</jasperReport>
============================================fin tres.jrxml=======================================