Ola Oscar obrigado pela resposta.
Sim na lib do netbeans tem o jasper4.1.1.jar e o jar de conexao com o banco,
vou postar os codigos pra gicar mais facil de vcs entenderem.
*teste.java - este é meu servlet de teste*
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.agr.cercaviva.util;
import br.agr.cercaviva.DAO.DAOGenerico;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JRException;
/**
*
* @author eduardo
*/
public class teste extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and
<code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException, Exception {
response.setContentType("text/html;charset=UTF-8");
// PrintWriter out = response.getWriter();
OutputStream out = null;
// obtém o relatório compilado
InputStream inputStream = getClass().getResourceAsStream(
"/clientes.jasper" );
// preenche o mapa de parâmetros
Map<String, Object> parametros = new HashMap<String, Object>();
parametros.put( "primeiroNome", "D%" );
try {
// gera o relatório e atribui o OutputStream gerado
out = relatoriosweb.createPDFReport( inputStream,parametros,
DAOGenerico.OpenDataBaseweb(), response );
} catch ( JRException exc ) {
exc.printStackTrace();
} finally {
// se não aconteceu nenhum problema, fecha o output stream
if ( out != null ) {
out.close();
}
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods.
Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (Exception ex) {
Logger.getLogger(teste.class.getName()).log(Level.SEVERE, null,
ex);
}
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (Exception ex) {
Logger.getLogger(teste.class.getName()).log(Level.SEVERE, null,
ex);
}
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
*relatoriosweb.java - esta é a classe que gera o pdf*
package br.agr.cercaviva.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.export.JRPdfExporter;
/**
* Classe generica com metodos para gerar relatorios web
* no formato PDF usando o ireport
*
* @author David Buzatto
*/
public class relatoriosweb {
/**
* Gera o relatório em PDF.
*
* @param inputStream InputStream que contém o relatório.
* @param parametros Parâmetros utilizados pelo relatório.
* @param conexao Conexão utilizada para a execução da query.
* @param response HttpServletResponse que será usado como base para
* gerar o relatório.
* @return O OutputStream do HttpServletResponse passado.
* @throws JRException Caso ocorra algum problema na geração do
relatório.
* @throws IOException Caso ocorra algum problema na obtenção do
* OutputStream.
*/
public static OutputStream createPDFReport(
InputStream inputStream,
Map<String, Object> parametros,
Connection conexao,
HttpServletResponse response ) throws JRException, IOException {
// configura o content type do response
response.setContentType( "application/pdf" );
// obtém o OutputStream para escrever o relatório
OutputStream out = response.getOutputStream();
/*
* Cria um JasperPrint, que é a versão preenchida do relatório,
* usando uma conexão.
*/
JasperPrint jasperPrint = JasperFillManager.fillReport(
inputStream, parametros, conexao );
// Exporta em PDF, escrevendo os dados no output stream do response.
JRExporter exporter = new JRPdfExporter();
exporter.setParameter( JRExporterParameter.JASPER_PRINT,
jasperPrint );
exporter.setParameter( JRExporterParameter.OUTPUT_STREAM,
out );
// gera o relatório
exporter.exportReport();
// retorna o OutputStream
return out;
}
}
*agora o web.xml*
*
*
*
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" xmlns="
http://java.sun.com/xml/ns/javaee" xmlns:web="
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Cerca Viva</display-name>
<servlet>
<servlet-name>teste</servlet-name>
<servlet-class>br.agr.cercaviva.util.teste</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>teste</servlet-name>
<url-pattern>/teste</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
valew pessoal
*
Em 11 de outubro de 2011 10:40, Oscar Costa
<oscar_al_costa@yahoo.com.br>escreveu:
> **
>
>
> Olá,
>
> Isto esta parecendo falta de JAR no classpath da aplicação:
>
>
> "java.lang.NoClassDefFoundError: Could not initialize
> class net.sf.jasperreports.engine.util.JRLoader"
>
> Verifique se todos os JARs estão na pasta lib de sua aplicação.
>
> []s,
>
> Oscar A. Costa
> http://blog.openarch.com
>
> "Do or do not, there is no try" - Master Yoda
>
> ________________________________
> De: José Eduardo Tomaz <jetomaz@gmail.com>
> Para: java-br@yahoogrupos.com.br
> Enviadas: Terça-feira, 11 de Outubro de 2011 10:18
> Assunto: [java-br] Problemas com iReport
>
>
>
> Bom dia a Todos!
>
> EU instalei o ireport montei um relatorio que abre nele normalmente,
> comfigurei o web.xml
> com o mapeamento do servlet mas quando vou roadar o relatorio com a
> aplicação dao seguite erro.
>
> HTTP Status 500 -
> ------------------------------
>
> *type* Exception report
>
> *message***
>
> *description* *The server encountered an internal error () that prevented
> it
> from fulfilling this request.*
>
> *exception*
>
>
> javax.servlet.ServletException: Servlet execution threw an exception
>
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
>
> *root cause*
>
>
> java.lang.NoClassDefFoundError: Could not initialize class
> net.sf.jasperreports.engine.util.JRLoader
>
> net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:376)
> br.agr.cercaviva.util.relatoriosweb.createPDFReport(relatoriosweb.java:53)
> br.agr.cercaviva.util.pedidosperiodo.processRequest(pedidosperiodo.java:57)
> br.agr.cercaviva.util.pedidosperiodo.doPost(pedidosperiodo.java:102)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
>
> *note* *The full stack trace of the root cause is available in the Apache
> Tomcat/7.0.14 logs.*
> ------------------------------
>
> Apache Tomcat/7.0.14
> estou usando o jar do jasper 4.1.1 e o ireport 4.1.1
>
> Algum ideia do que pode ser o erro ?
>
> att.
>
> Eduardo
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/
<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
0 comentários:
Postar um comentário