|      Generacion de Reporte (JasperReport-0.6.7)        Hola a todos en el foro. 
Anteriormente habia generado reportes desde jsp con jasperreport. Compila bien (el jrxml) desde el servlet y se ejecuta el pdf, pero no me muestra nada, se muetra el pdf en blanco. Y desde el iReport se muestra el reporte correctamente. Los jar que utilizo para crear el reporte desde iReport son los mismos, excepto *commons-digester.jar y *commons-collections.jar.   
Ahora tengo iReport0.5.0 y los jar;  
jasperreport-0.6.7.jar, 
commons-beanutils.jar, 
*commons-digester-1.7.jar, 
*commons-collections-3.1.jar, 
itext-1.02b.jar 
y otros como poi..,xerces.. en WEB-INF\lib   
Yo uso Tomcat-5.5.7, j2se 5     
El codigo del servlet es el siguiente:   
package com.ivss.sappie.ctrl.reportes;   
import java.io.File; 
import java.io.IOException; 
import java.io.BufferedInputStream; 
import java.io.ByteArrayInputStream; 
import java.sql.Connection; 
import java.sql.SQLException; 
import java.util.HashMap; 
import java.util.Map;   
import javax.naming.Context; 
import javax.naming.InitialContext; 
import javax.servlet.Servlet; 
import javax.servlet.ServletContext; 
import javax.servlet.ServletException; 
import javax.servlet.ServletOutputStream; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse;   
import net.sf.jasperreports.engine.JRException; 
import net.sf.jasperreports.engine.JRExporterParameter; 
import net.sf.jasperreports.engine.JasperCompileManager; 
import net.sf.jasperreports.engine.JasperFillManager; 
import net.sf.jasperreports.engine.JasperPrint; 
import net.sf.jasperreports.engine.JasperReport; 
import net.sf.jasperreports.engine.JasperRunManager; 
import net.sf.jasperreports.engine.export.JRPdfExporter; 
import net.sf.jasperreports.engine.export.JRPdfExporterPa  rameter; 
import net.sf.jasperreports.engine.export.JRHtmlExporter; 
import net.sf.jasperreports.engine.export.JRHtmlExporterP  arameter; 
import net.sf.jasperreports.engine.data.JRXmlDataSource; 
import net.sf.jasperreports.engine.util.JRLoader;   
import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory;   
import com.ivss.lib.sql.ConectarDB;   
/** 
 * @ version 	1.0 
 * @ author      José Pacheco 
 */ 
public class ReportServlet extends HttpServlet implements Servlet{   
	private static final Log log = LogFactory.getLog(ReportServlet.class);   
	public final static String fileName = "ReporteRechazado";   
	/** 
	* @see Inicializa el servlet 
	*/ 
	public void init() throws ServletException {   
		super.init();   
		ServletContext context = getServletContext();   
		//Setea la ruta de las classes para compilar 
		System.setProperty( 
			"jasper.reports.compile.class.path", 
			context.getRealPath("/WEB-INF/lib/jasperreports-0.6.7.jar") 
				+ System.getProperty("path.separator") 
				+ context.getRealPath("/WEB-INF/classes/"));   
		//Especifica la carpeta donde esta el reporte compilado 
		System.setProperty( 
			"jasper.reports.compile.temp", 
			context.getRealPath("/reportes/xml/"));   
		log.info("Inicializando ReportServlet"); 
	}   
	public void doGet(HttpServletRequest request,HttpServletResponse response) 
		throws ServletException, IOException {   
		doPost(request, response); 
	}   
	public void doPost(HttpServletRequest request,HttpServletResponse response) 
	throws ServletException,IOException{   
		log.info("Inicia Generacion de Reporte");   
		Connection conn = null;   
		Map parameters = new HashMap();   
		ConectarDB connection = new ConectarDB("recursos/sappie");   
		try { 
			//Obtiene la conexion a la base de datos 
			conn = connection.getConnection();     
			String reportType = "PDF"; //request.getParameter("reportType"); 
			ServletContext context = getServletContext();   
			JasperReport jasperReport = getCompiledReport();   
			parameters.put("id_ciudadano","1555555");   
			if(reportType.indexOf("HTML") >= 0){   
				//Crea el Objeto JasperPrint usando fillReport() 
				JasperPrint jasperPrint = 
					JasperFillManager.fillReport(jasperReport, parameters, conn);   
				//Llama al metodo para generar el reporte PDF 
				generateHtmlOutput(jasperPrint, request, response); 
			}else{ 
				//Llama al metodo para generar el reporte PDF 
				generatePDFOutput(response, parameters, jasperReport,conn); 
			}   
		}catch(Exception e){   
			e.printStackTrace(System.err);   
			request.setAttribute("exception", e);   
			getServletContext().getRequestDispatcher( 
				"/comunes/exceptionSAPPIE.jsp").forward( 
				request, 
				response); 
		}finally{ 
			if(conn != null) 
				try{ 
					conn.close(); 
				}catch(SQLException e){ 
					e.printStackTrace(System.err); 
				} 
			if(connection.con != null) 
				try{ 
					connection.closeConnection(); 
				}catch(Exception e){ 
					e.printStackTrace(System.err); 
				} 
		} 
	}   
	private void generateHtmlOutput( 
		JasperPrint jasperPrint, 
		HttpServletRequest request, 
		HttpServletResponse response) throws IOException, JRException {   
		Map imagesMap = new HashMap(); 
		request.getSession().setAttribute("IMAGES_MAP", imagesMap); 
		JRHtmlExporter exporter = new JRHtmlExporter();   
		exporter.setParameter(JRExporterParameter.JASPER_P  RINT, jasperPrint);   
		exporter.setParameter( 
			JRExporterParameter.OUTPUT_WRITER, 
			response.getWriter());   
		exporter.setParameter(JRHtmlExporterParameter.IMAG  ES_MAP, imagesMap);   
		exporter.setParameter( 
			JRHtmlExporterParameter.IMAGES_URI, 
			"image?image=");   
		exporter.exportReport(); 
	}   
	private void generatePDFOutput( 
		HttpServletResponse response, 
		Map parameters, 
		JasperReport jasperReport,Connection conn) throws JRException,SQLException,IOException {   
		byte[] bytes = null;   
		bytes = 
			JasperRunManager.runReportToPdf( 
				jasperReport, 
				parameters, 
				conn);   
		log.info("Size del byte [ " + bytes.length + " ] --> Significa la cantidad de byte del reporte");   
		response.setContentType("application/pdf");   
		response.setHeader("Content-Disposition","inline; filename=ReporteRechazado.pdf");   
		response.setContentLength(bytes.length);   
		ServletOutputStream ouputStream = response.getOutputStream();   
		ouputStream.write(bytes, 0, bytes.length);	//ouputStream.write(bytes);   
		ouputStream.flush();   
		ouputStream.close();   
		log.info("Reporte Generado"); 
	}   
	private JasperReport getCompiledReport() 
	throws JRException{   
		File reportFile = new File(getServletContext().getRealPath("/reportes/xml/" + fileName + ".jasper"));   
		log.info("Archivo " + reportFile.toString() + " Seteado en Objeto File");   
		//Si el archivo compilado no es encontrado, entonces 
		//se compila la plantilla XML 
		if (!reportFile.exists()) { 
			JasperCompileManager.compileReportToFile( 
				getServletContext().getRealPath( 
					"/reportes/xml/" + fileName + ".jrxml")); 
		}   
		JasperReport jasperReport = 
			(JasperReport) JRLoader.loadObject(reportFile.getPath());   
		log.info("Archivo Compilado");   
		return jasperReport; 
	}   
}   
gracias a quien pueda ayudarme           |