Prezados,
Estou com um problema na servlet que criei para chamar o relatório, só que não roda. Estou utilizando o Netbeans e Ireport para fazer o relatório. Importei os Jar, e importei o arquivo .jasper(relatorio). Ele abre a página e quando eu clico para gerar o relatório dá o seguinte erro.
Erro: C:\Documents and Settings\thiago\Relatorio\build\web\ItemComDesconto.jasper
Segue o Código Abaixo:
package relatorio;
import <a href="http://java.io">java.io</a>.<em>;
import <a href="http://java.net">java.net</a>.</em>;
import java.io.IOException;
import java.sql.DriverManager;
import java.util.HashMap;
import java.util.Map;
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.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.util.JRLoader;
import com.mysql.jdbc.Connection;
import javax.servlet.<em>;
import javax.servlet.http.</em>;
/**
*
-
@author Thiago
-
@version
*/
public class Gerar extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {//obtém a conexão com o banco de dados System.out.println("1"); Connection conn = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/total", "root", "647226"); System.out.println("2"); }catch (Exception e){ System.out.println(e.getMessage()); } // gera o relatório ServletContext context = getServletContext(); byte [] bytes = null; System.out.println("3"); try{ //carrega os arquivos Jasper System.out.println("4"); JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(context.getRealPath("/ItemComDesconto.jasper")); System.out.println("5"); // Quando tem parametros no relatório System.out.println("6"); Map parametros = new HashMap(); parametros.put("pageRoot",context.getRealPath("/")); // parametros.put("subReport", subrelatorioJasper); // direciona a saída do relatório para um stream bytes = JasperRunManager.runReportToPdf (relatorioJasper,parametros, conn); }catch (JRException e){ System.out.println(e.getMessage()); } if (bytes!= null && bytes.length>0){ // envia o relatorio em formato PDF para o browser response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); }
}
//
/** Handles the HTTPGETmethod.- @param request servlet request
-
@param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Handles the HTTP
POSTmethod.- @param request servlet request
-
@param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Returns a short description of the servlet. */ public String getServletInfo() { return “Short description”; } // }