Erro conexao MYSQL através de um BEAN

3 respostas
Ale2006

Pessoal, estou com um problema de conexao para gerar um IREPORT.

Criei um Bean Conxeao:

<strong>---------------------------------------------------------</strong>

import java.beans.<em>;

import java.io.Serializable;

import java.sql.</em>;

public class Conexao {

public  Connection con;

public  java.sql.Statement stm;

private String sit = “”;

public Conexao() {

try {   
     Class.forName("org.gjt.mm.mysql.Driver");   
     con = DriverManager.getConnection("jdbc:mysql://localhost:3306/teste","root","");   
     stm = con.createStatement();    

     sit = "Conexão efetuada com sucesso";   
        
  } catch (Exception e) {   
     sit = "não foi possível conectar ao banco" + e.getMessage();   
  }

}

public String getSituacao(){

return sit;

}

}

<strong>---------------------------------------------------------</strong>
Depois criei a pagina JSP que ira chamar o IREPORT

<strong>---------------------------------------------------------</strong>

<jsp:useBean id=“con” class=“Conexao”/>

<%@ page import=net.sf.jasperreports.view.<em>" %>

<%@ page import="net.sf.jasperreports.engine.</em>” %>

<%@ page import=java.util.<em>" %>

<%@ page import="<a href="http://java.io">java.io</a>.</em>” %>

<%@ page import=javax.naming.* %>

<%@ page import=java.lang.String %>

<%@include file=nivel.jsp%>
<%

if(gimprimerecibo==N||gimprimerecibo.equals(N))

out.print(“”);

String mens=request.getParameter(“id_transp”);
String data_ini=request.getParameter(“data_ini”);

String relatorio = null;

if(data_ini==null||data_ini.equals(""))

out.print(“”);

else

if(mens==“0”||mens.equals(“0”))

out.print(“”);

else

{

relatorio = “Recibos.jrxml”;
File reportFile = new File(application.getRealPath(relatorio));

       Map parameters = new HashMap();
       parameters.put("ddata",(data_ini));
       parameters.put("mmens",(id_transp));

       byte[] bytes = JasperRunManager.runReportToHtml(reportFile.getPath (), 
       parameters, con);

       response.setContentType("application/html");
       response.setContentLength(bytes.length);
       ServletOutputStream ouputStream = response.getOutputStream();

       ouputStream.write(bytes, 0, bytes.length);
       ouputStream.flush();
       ouputStream.close();
     }

%>
---------------------------------------------------------

Porém, esta me retornando o seguinte erro:

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /imprime_recibo.jsp(1,1) The value for the useBean class attribute Conexao is invalid.

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

org.apache.jasper.JasperException: /imprime_recibo.jsp(1,1) The value for the useBean class attribute Conexao is invalid.

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)

org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1174)

org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)

org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)

org.apache.jasper.compiler.Node$Root.accept(Node.java:456)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)

org.apache.jasper.compiler.Generator.generate(Generator.java:3305)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.

Alguém sabe me dizer como consertar esse erro?
Obrigado.

3 Respostas

Fabiano

Eu não conheço muito de javabean, mas você já tentou alterar o código

Class.forName("org.gjt.mm.mysql.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/teste","root",""); por algo assim

Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost/BANCO_DE_DADOS?user=root&password=root");
Como no exemplo do tutorial JDBC em java?

Ale2006

Fala Fabiano…

Alterei como vc havia sugerido mas nao deu certo :(.

Acredito que o erro esteja nesta linha…nao tenho certeza…

**---------------------------------------------
byte[] bytes = JasperRunManager.runReportToHtml(reportFile.getPath (),
parameters, con);
**---------------------------------------------

Esta correta a forma onde eu passei o parametro “con”???, pois esse cara representa o BEAN…

Vejam:

<jsp:useBean id=“con” class=“Conexao”/>

Se puderem ajudar agradeço.

Ale2006

Pessoal, ainda nao resolvi…preciso de ajuda!!!
Ninguem tem um palpite???

Obrigado!!!

Criado 14 de março de 2007
Ultima resposta 20 de mar. de 2007
Respostas 3
Participantes 2