Caminho do arquivo .Jasper ao gerar relatório!

Eu fiz um relatório, funcionou tudo beleza eu executando ele na minha maquina, agora vou colocar no servidor via FTP.

Configuei o servlet no web.xml tudo certo, coloquei o arquivo .class na pasta /WEB-INF/classes/br/com/teste/web/

Mas na hora que executo o servlet ele não gera o relatório da erro na no caminho do arquivo .JASPER.

O arquivo esta na pasta /WEB-INF/classes/br/com/teste/web/Livros.jasper
E no .class esta esse caminho, ta tentei colocar em outros locais e não consigo.

Eu acho que o problema e só no caminho do arquivo .JASPER que ele não esta encontrando e por isso não gera o relatório.

Alguem pode me ajudar?!

Logo abaixo tem o código:

[color=red]

import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.servlet.;
import javax.servlet.http.
;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

public class Teste extends HttpServlet {

public List getLivros() {
	List listaLivros = new ArrayList();
	Livro livro = new Livro();

	livro.setTitulo("Use a cabeça! Padrões de Projeto - Design Patterns");
	livro.setAutor("Freeman, Eric / Freeman, Elisabeth");
	livro.setIsbn("8576080869");
	livro.setEditora("Alta Books");
	livro
			.setDescricao("Como você sabe que não quer reinventar a roda (ou, "
					+ "pior, um pneu furado), "
					+ "então você busca padrões de projetos");
	listaLivros.add(livro);

	livro = new Livro();
	livro.setTitulo("Entendendo e Dominando o Linux");
	livro.setAutor("Morimoto, Carlos");
	livro.setIsbn("8589535339");
	livro.setEditora("Digerati");
	livro
			.setDescricao("Como o nome diz, este livro é uma obra destinada a "
					+ "todos aqueles que "
					+ "pretendem conhecer na prática e em detalhes os "
					+ "principais recursos oferecidos pelo Linux");
	listaLivros.add(livro);

	livro = new Livro();
	livro.setTitulo("Guia de Certificação em Java - Exame CX-310-035");
	livro.setAutor("Pereira, Rafael");
	livro.setIsbn("8573934263");
	livro.setEditora("Ciência Moderna");
	livro.setDescricao("Este Guia de Certificação em Java é um livro "
			+ "fundamental para preparar os"
			+ " candidatos ao exame de programador Java da Sun, "
			+ "a primeira e mais "
			+ "requisitada certificação desta tecnologia.");
	listaLivros.add(livro);

	return listaLivros;
}

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    
    /*
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    // TODO output your page here
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Servlet Teste</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1> TESTE DE SERVLETs  - JÚNIOR!!! </h1>");
    out.println("</body>");
    out.println("</html>");
     
    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
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    doPost(request, response);
}

/** Handles the HTTP <code>POST</code> method.
 * @param request servlet request
 * @param response servlet response
 */
protected void doPost(HttpServletRequest req, HttpServletResponse res)
        throws ServletException, IOException {
    
                          
    try {

			List listaLivros = getLivros();
                            JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(listaLivros);
			HashMap parameters = new HashMap();
			JasperPrint print = JasperFillManager.fillReport("/WEB-INF/classes/br/com/teste/web/Livros.jasper", parameters, ds);
			byte[] bytes = JasperExportManager.exportReportToPdf(print);
		        res.setContentType("application/pdf");
		        res.setContentLength(bytes.length);
		        ServletOutputStream ouputStream = res.getOutputStream();
		        ouputStream.write(bytes, 0, bytes.length);
		        ouputStream.flush();
		        ouputStream.close();
                            
                            JasperExportManager.exportReportToPdfFile(print, "c:\\rapaz.pdf");
                            JasperExportManager.exportReportToHtmlFile(print, "c:\\rapaz.html");  
                                
	} catch (Exception e) {
                
		res.setContentType("text/html;charset=UTF-8");
                    PrintWriter out = res.getWriter();
                    
                    out.println("<html>");
                    out.println("<body>");     
                    out.println("&lt;h1&gt; PROBLEMA : "+e.getMessage()+" &lt;/h1&gt; <br>");
                    
                    out.println("&lt;/body&gt;");
                    out.println("&lt;/html&gt;");
                     out.close();
	}

}

/** Returns a short description of the servlet.
 */
public String getServletInfo() {
    return "Short description";
}
}[/color]

Ai galera… tou com o mesmo problema…

Ja fiz d todas as formas e nda ainda. Se alguém soube, agradecemos o auxílio… vlw!?

Flw galera…

Ai galera… :smiley:

Depois d algumas pesquisa, encontrei uma solução que pode ser viável… taí pra quem quiser usar!

protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException
  {
    ServletOutputStream servletOutputStream = response.getOutputStream();
    File reportFile = new File(getServletConfig().getServletContext()
        .getRealPath("/reports/Simple_Report.jasper"));
    byte[] bytes = null;

    try
    {
      bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),
          new HashMap(), new JREmptyDataSource());

      response.setContentType("application/pdf");
      response.setContentLength(bytes.length);

      servletOutputStream.write(bytes, 0, bytes.length);
      servletOutputStream.flush();
      servletOutputStream.close();
    }
    catch (JRException e)
    {
      // display stack trace in the browser
      StringWriter stringWriter = new StringWriter();
      PrintWriter printWriter = new PrintWriter(stringWriter);
      e.printStackTrace(printWriter);
      response.setContentType("text/plain");
      response.getOutputStream().print(stringWriter.toString());
    }
  }

Esse Servlet abre o pdf na mesma página… flw galera!