Olá pessoal…
Estou com o seguinte problema.
Seguindo a apostila da caelum fj-21, criei um java project que implementa classes para acesso ao banco.
Classe que retorna o driver.
[code]
package br.com.estudando.jdbc;
import java.sql.*;
public class ConnectionFactory {
public static Connection getConnection() throws SQLException
{
try{
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
System.out.println("Conectando ao Banco...");
return DriverManager.getConnection("jdbc:db2:ALIAS","usuario","senha");
}catch(ClassNotFoundException e)
{
throw new SQLException(e.getMessage());
}
}
}[/code]
classe que cria a conexão, consulta, delete, e update.
coloquei apenas a consulta pois eh o que estou com problemas…
package br.com.estudando.jdbc.dao;
import java.sql.*;
import java.util.*;
import br.com.estudando.jdbc.*;
import br.com.estudando.modelo.*;
public class ContatoDAO{
private Connection con;
public ContatoDAO() throws SQLException
{
this.con = ConnectionFactory.getConnection();
System.out.println("Conectado com sucesso!");
}
public List<Contato> getLista() throws SQLException
{
PreparedStatement stmt = this.con.prepareStatement("select numero_int, string, texto from adm.teste");
ResultSet rs = stmt.executeQuery();
List<Contato> contatos = new ArrayList<Contato>();
while(rs.next())
{
//criando o objeto contato
Contato contato = new Contato();
contato.setNumero_int(rs.getInt("numero_int")) ;
contato.setString(rs.getString("string"));
contato.setTexto(rs.getString("texto"));
contatos.add(contato);
}
rs.close();
stmt.close();
con.close();
return contatos;
}
e cria outra classe para testar a conexao…
[code]
package br.com.estudando.jdbc;
import java.sql.*;
public class TestaConexao {
public static void main(String[] args) {
try{
Connection con = ConnectionFactory.getConnection();
System.out.println("Conectou com sucesso!");
con.close();
System.out.println("Conexão encerrada!");
}catch(SQLException e){
e.getMessage();
}
}
}[/code]
ateh aqui tudo bem… configurei os drivers e fununcia que eh uma blz…
a saida eh a seguinte ao executar TestaConexao…
Conectando ao Banco...
Conectou com sucesso!
Conexão encerrada!
o problema começou quando começa a criar o web project.
na apostila eh usado o plugin Amanteras, banco mysql e servidor tomcat… aqui estou tentando fazer com o myeclipse, db2 e jboss…
bom seguindo…
criei o web project… fiz a referencia do java project pelo caminho: Project->Properties->Java Build Path->Projects, adicionei o java project em meu web project…
adicionei as variaveis… DB2_HOME e JBOSS_HOME no caminho: Project->Properties->Java Build Path->Libraries
testando o jsp abaixo…
[code]
<%@page language=“java” import=“java.util." pageEncoding=“ISO-8859-1”%>
<%@page import="java.sql.”%>
<%@page import=“br.com.estudando.jdbc."%>
<%@page import="br.com.estudando.jdbc.dao.”%>
<%@page import=“br.com.estudando.modelo.*”%>
<%
ContatoDAO dao = new ContatoDAO();
List contatos = dao.getLista();
System.out.println("Lista criada!");
for(int i = 0; i < contatos.size(); i++)
{
Contato contato = (Contato) contatos.get(i);
%>
<%=contato.getNumero_int()%>, <%=contato.getString()%>,
<%=contato.getTexto()%>
<%
}
%>
</body>
[/code]
no preview do myeclipse aparece o seguinte…
Lista da base de dados!
{contato.getNumero_int()}, {contato.getString()}, {contato.getTexto()}
subo a o serviço… acesso pelo browser… e me apresenta o erro classico…
[code]
exception
javax.servlet.ServletException: No suitable driver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.lista_002dscriptlet_jsp._jspService(org.apache.jsp.lista_002dscriptlet_jsp:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
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:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
java.sql.SQLException: No suitable driver
java.sql.DriverManager.getConnection(DriverManager.java:545)
java.sql.DriverManager.getConnection(DriverManager.java:171)
br.com.estudando.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:14)
br.com.estudando.jdbc.dao.ContatoDAO.(ContatoDAO.java:14)
org.apache.jsp.lista_002dscriptlet_jsp._jspService(org.apache.jsp.lista_002dscriptlet_jsp:58)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
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:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.[/code]
pelo que pesquisei eh esse erro acontece quando nao definimos as variaveis de ambiente do db2, mais eu jah fiz isso…
se alguem puder me ajudar ficaria muito grato…
abraço a todos…