| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/04/2010 17:00:01
|
Augusto Cesar
Thread.start()
![[Avatar]](/images/avatar/8848d0798ff7d86cca5358c47a4e08db.jpg)
Membro desde: 09/12/2009 17:48:38
Mensagens: 31
Offline
|
AJUDA EU
To com um problema na hora de gerar o pdf. A servlet vai nuba boa, mas o que vem na tela pra mim é isso aqui oh.
%PDF-1.4 %âãÏÓ 4 0 obj <>stream x?¥?Ín!?ïûãMR`q??v?þi¢ë©ö@]jÖ¬k?Ö¶?Ü·è®=h??m2!Ã?p?²H�¯[ÓB¶?.R¢?½DÝ^¶?®Î?pXnÎ?P&L##?ü# j?ùq?_EÝt>N'óN§Ù?Ãê??ê1p¤??ŧòß?á}zwC�?:÷0áÁú°Ê?ß@¨uhfK·?©{õn窽ÝG¹º¸íî&ÏÎ;?í=mh?âD@#çË¢"Z #"O?zÂ?kç7¶ú$ 3¸ä}Î??(?>â¸k¥i¥1ô7ÇÃlJ´ÞB¨,dþm]?å?(??¼WÎÕ·¤rÈ-?ÜAi?NP?ªÙ×G±ÜÂ%KÕL?Ã5'½á£?p&®É?ê$?Xtõ¢Zë¾2H©.µ??Jñ?$Í?>å7íì?Q endstream endobj 1 0 obj<<<>>>/MediaBox[0 0 595 842]>> endobj 7 0 obj <>stream x?¥?½NÃ0?w?Å?é@ðO?±¨Th?ÚT?!jL)JmpB?Gæ-HÐe8EJ¬Äw?/?Ï®ØyÁðîêïY"¡Ø³Ó©�Ñ?Y4*?ÙÅñ?ýq?R?ñ4NÿyÈ>?-?Æó"?÷i8lÿIuÿÐ=+ º5 \ëÝÎÃÌë<%µ@åïÎA¥C¿kV¶ee?o�¤?ÂR`?ÆP_»??I<??~p×\*¢??Jl_ Ñ?XGz=õ?:ST-I??Ü[]Óòk?`í²ÈWQ8N(?ü¾là²Õ'Ñ;Z?µm`a_?m¬kËvw°Ä]??ä]YÎl?å+¥mzM\!¨ï*ï¨?PÄݸ{7¹¥*B«kª4ý:Fü6¦1YF3?ìh>f¥FóAÖ7j??= endstream endobj 6 0 obj<<<>>>/MediaBox[0 0 595 842]>> endobj 9 0 obj <>stream x?¥ÔKKÃ@ð{>Åë¡u³¯l?´iú8??`Æ4Òld?Vü¾ú=Ü?`2??$³¿dÿ;?p?L·I "nç£Ó¶ur=O!?WÏÉàjû?Ì.ðT_)NØ?ý-çBñ};?É`:[/6ça?õðϤñ?háfª¶«|Såáè'?éáîC?&E]ùÈ?¼kÃS¶wãGOíé£Dà8??,3µ<ð??-l?cã@JfB=Èè?¡Ð?Ët{Di°??vÿ?2d?¦?Ùr²ãö)-Üæ>öèªiZfú4³ÉØÂ_¶è»¼«NÈ\48oBÛaÜÃ7#¡igp?UÍ??D¬SÂr"?
alguem sabe como resolver esse problema?
código que estou usando:
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperRunManager;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
/**
*
* @author Administrador
*/
public class Relatorio extends HttpServlet {
private Connection getConnection(){
Connection connection=null;
try {
//cria a conexão com o banco de dados
Class.forName("com.mysql.jdbc.Driver");
String db = "jdbc:mysql://localhost:3306/relatorios?user=edson&password=integrator";
connection = DriverManager.getConnection(db);
} catch (SQLException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return connection;
}
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// response.setContentType("text/pdf;charset=ISO-8859-1");
// PrintWriter out = response.getWriter();
ServletOutputStream servletOutputStream = response.getOutputStream();
String caminho = "/WEB-INF/relatorios/";
String relatorio = caminho+"Relatorios_MestreDetalhe.jasper";
InputStream reportStream = getServletConfig().
getServletContext().
getResourceAsStream(relatorio);
ServletContext context = getServletContext();
try {
Connection connection = getConnection();
HashMap<String, String> map = new HashMap<String, String>();
//o Nome do parâmetro e o valor é passado ao HashMap
map.put("SUBREPORT_DIR", context.getRealPath(caminho)+File.separator);
JasperRunManager.runReportToPdfStream(reportStream,servletOutputStream, map,connection);
response.setContentType("application/pdf");
servletOutputStream.flush();
servletOutputStream.close();
if(connection!=null)connection.close();
} catch (SQLException ex) {
Logger.getLogger("global").log(Level.SEVERE, null, ex);
}
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());
}
}
// <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 {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @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";
}
// </editor-fold>
}
os arquivos estão nas pastas corretas o problema é somente na visualização! Obrigado desde já a atenção
|
Choramos ao nascer, pois acabamos de chegar a esse imenso cenário de dementes. ( Shakespeare )
Os dados falam sobre a tortura do problema.
(Prof. Fonseca) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/05/2010 23:37:43
|
renatormendes
What is classpath?
![[Avatar]](/images/avatar/39cd8b707708da2c8ea274dc6e16882c.jpg)
Membro desde: 26/05/2010 12:41:51
Mensagens: 8
Offline
|
Estou gerando um erro tbm quando executo meu programa para gerar um relatório com JasperReport. Segue abaixo o código do erro:
--------------------Configuration: RelatorioBibliotecaPessoal - JDK version 1.6.0_17 <Default> - <Default>--------------------
Exception in thread "main" java.io.FileNotFoundException: \\teste.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:117)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:237)
at RelatorioBibliotecaPessoal.geraRelatorio(RelatorioBibliotecaPessoal.java:2
at RelatorioBibliotecaPessoal.main(RelatorioBibliotecaPessoal.java:34)
NESTED BY :
net.sf.jasperreports.engine.JRException: \\teste.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:117)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:237)
at RelatorioBibliotecaPessoal.geraRelatorio(RelatorioBibliotecaPessoal.java:2
at RelatorioBibliotecaPessoal.main(RelatorioBibliotecaPessoal.java:34)
Caused by: java.io.FileNotFoundException: \\teste.jasper
... 4 more
Se, eu retirar as barras do caminho para o arquivo teste.jasper, ele gera outro erro:
--------------------Configuration: RelatorioBibliotecaPessoal - JDK version 1.6.0_17 <Default> - <Default>--------------------
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:123)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:151)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:353)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:274)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:242)
at RelatorioBibliotecaPessoal.geraRelatorio(RelatorioBibliotecaPessoal.java:2
at RelatorioBibliotecaPessoal.main(RelatorioBibliotecaPessoal.java:34)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:18
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:24
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
... 7 more
gostaria que alguém me desse uma luz no que esta errado aqui... segue abaixo o meu código:
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;
import java.sql.*;
import java.util.*;
public class RelatorioBibliotecaPessoal{
private static Connection getConnection() throws ClassNotFoundException, SQLException {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/test";
String user = "root";
String password = "1234";
Class.forName(driver);
Connection con = DriverManager.getConnection(url,user,password);
return con;
}
public void geraRelatorio() throws JRException, Exception {
Connection con = getConnection();
Statement stm = con.createStatement();
String query = "select * from user";
ResultSet rs = stm.executeQuery(query);
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
Map parameters = new HashMap();
JasperFillManager.fillReportToFile("teste.jasper",parameters,jrRS);
JasperExportManager.exportReportToPdfFile("teste.jrprint");
JasperViewer.viewReport("teste.pdf",false);
}
public static void main(String[] args) throws JRException, Exception{
new RelatorioBibliotecaPessoal().geraRelatorio();
}
}
Estou usando:
JCreator 4.5 PRO
JasperReport 0.6.1
IReport 0.4.0
MySQL 4.1
Eclipse 3.4
Windows XP
Se alguém puder me ajudar eu agradeço a atenção dispensada a este.
This message was edited 1 time. Last update was at 30/05/2010 23:41:24
|
Optimus Black Prime |
|
|
 |
|
|
|
|