Problemas driver conexão + servlets + jdbc + jsp

6 respostas
rvcabral

tenho um projeto com servlets e jsp.

o projeto trabalha com pacotes de entidades (pojos), pacote dao, e um pacote de controle com servlets.

o dao através das classes de testes está funcionando 100%.

o meu problema está sendo utilizando o dao dos servlets.

em alguns momentos funciona outros não (o que é o mais estranho).

quando resolve parar dá o seguinte erro:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/livraria

(o mais entranho é que esta mesma conexão funciona em alguns momentos).

o que eu já tentei:

remover e recolocar o driver de conexão
reiniciar o servidor (testei com Glassfish e Tomcat)
limpar e construir o projeto.
reiniciar a ide (netbeasn 6.7.1)

dessas alguma coisa funcionou, mas não identifiquei exatamente o que.

qualquer ajuda será bem vinda.

lembrando que as minhas classes dao funcionam quando chamas por uma classe de testes.

segue mais detalhes do erro:

INFO: erro ao tentar conectar java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/livraria SEVERE: StandardWrapperValve[ServletLista]: PWC1406: Servlet.service() for servlet ServletLista threw exception java.lang.NullPointerException

6 Respostas

thiago.correa

Como você está pegando a conexão?! Via JDBC mesmo ou via Connection Pool?!

rvcabral

estou utlizando uma conexão singleton

/*

package dao;

import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;



public class Conecta {

    private static Connection conexao = null;

    private Conecta(){
        try {
            Class.forName("com.mysql.jdbc.Driver");

        } catch (ClassNotFoundException ex) {
            System.out.println("erro ao localizar driver "+ ex);
        }
    }

    public static Connection getConexao(){
        try {
            conexao = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/livraria", "root", "");
        } catch (SQLException ex) {
            System.out.println("erro ao tentar conectar "+ ex);
        }
        return conexao;

    }
 public static Connection fechaConexao(){
        try {
            conexao.close();

        } catch (SQLException ex) {
            System.out.println("problemas ao fechar a conexão "+ex);
        }
         return conexao;
     }



}
Vini_Fernandes

Cara, veja a seguinte linha: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/livraria

Isso indica que voce nao esta usando o driver .jar correto. Primeiro veja se existe a classe com.mysql.jdbc.Driver dentro do .jar.

T+

peczenyj

É classpath

No suitable driver found

adicione o driver do mysql no classpath da aplicação (coloque o jar no WEB-INF/lib que é adicionado automagicamente).

thiago.correa

Ou, que na minha opinião é uma boa prática, no diretório lib do servidor!

rvcabral

sim existe e a conexão funciona das classes de testes e eventualmente pelos servlets.

desconfio que seja algum problema de compilação ou construção do projeto.

Criado 5 de abril de 2010
Ultima resposta 5 de abr. de 2010
Respostas 6
Participantes 4