Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   ¡Pasos para Diseñar y Mostrar un reporte en Java! (http://www.forosdelweb.com/f45/pasos-para-disenar-mostrar-reporte-java-284225/)

pancho_k 09/08/2007 11:29

Re: ¡Pasos para Diseñar y Mostrar un reporte en Java!
 
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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp; 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=======================================

gabo461 10/05/2011 13:47

Respuesta: Ya encontre la solucion para el codigo de barras
 
Cita:

Iniciado por jdrubio (Mensaje 1073072)
Bueno muchachos el problema ya lo solucione:

lo que hay que hacer es un .jar del paquete de ireport "it" e incluirlo en el class path del java para que cuando se haga la llamada al compilador del jasper report consiga la clase it.businesslogic.ireport.barcode.BcImage que es la del codigo de barras, bueno cualquier duda me pueden preguntar saludos !!!

---------------------------------
Buenas man, quisiera saber como realizar un codigo de barras en ireport con la codificación EAN-128 y el componente barcode4j, al dato a representar es el siguiente

(415)7709998000100(8020)0253588137(3900)00024310(9 6)2011212

Fhernd 12/01/2012 13:43

Respuesta: ¡Pasos para Diseñar y Mostrar un reporte en Java!
 
gabo461, ¿ya pudiste resolver el problema? Estoy en las mismas... :|


La zona horaria es GMT -6. Ahora son las 22:30.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2024, Jelsoft Enterprises Ltd.