Problemas com WebProject que utiliza um JavaProject

2 respostas
Humbertim2

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.
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());
			}
	}
}
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...
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();
		}
	}
}
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...
<%@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.*"%>


<html> 
  <body>
     Lista da base de dados! <br>
     
     <% 
     	 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>
       
</html>
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...

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.<init>(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.

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....

2 Respostas

Humbertim2

:? :cry:
pessoal… ainda nao consegui resolver esse problema…
se alguem pudesse me dar uma mao… agradeceria muito…
fiz varias alterações… e continua apresentando erro de driver…

Humbertim2

:D… consegui… nusss ateh q enfim!!.. :smiley:

no caminho, no “myeclipse”

window->preferences->myeclipse->application server->jboss->jboss4x->paths, em “append to library path” setei para as seguintes pastas de instalaçao do db2

C:\Arquivos de programas\SQLLIB\java12
C:\Arquivos de programas\SQLLIB\bin

soh nao me perguntem por que tem que fazer isto… ainda nao descobri… :smiley:

se alguem com mais experiencia se habilitar…

abraço a todos.

Criado 11 de setembro de 2007
Ultima resposta 14 de set. de 2007
Respostas 2
Participantes 1