Estou fazendo o exercício da FJ21
5.9 - Exercícios: Criando funcionalidade para gravar contatos
E aconteceu o seguinte erro, ao tentar gravar um contato.
exception
java.lang.RuntimeException: java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/ProjetoWEB
dao.FabricaDeConexao.getConnection(FabricaDeConexao.java:14)
dao.ContatoDAO.
br.com.caelum.agenda.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:53)
root cause
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/ProjetoWEB
java.sql.DriverManager.getConnection(DriverManager.java:640)
java.sql.DriverManager.getConnection(DriverManager.java:200)
dao.FabricaDeConexao.getConnection(FabricaDeConexao.java:12)
dao.ContatoDAO.
br.com.caelum.agenda.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:53)
Fabrica de Conexão:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class FabricaDeConexao {
public Connection getConnection(){
System.out.println("Conectando ao Banco de Dados");
try{
return DriverManager.getConnection("jdbc:postgresql://localhost/ProjetoWEB","postgres","9999");
}catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
Classe ContatoDAO:
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import br.com.caelum.jdbc.Contato;
public class ContatoDAO {
private Connection conectar;
/*
* Construtor da Classe
*/
public ContatoDAO(){
this.conectar = new FabricaDeConexao().getConnection();
}
public void adiciona(Contato contato){
String sql = "insert into Contatos (nome, endereco, email, dataNascimento) values (?,?,?,?)";
try{
PreparedStatement stmt = conectar.prepareStatement(sql);
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEndereco());
stmt.setString(3, contato.getEmail());
stmt.setDate(4, new Date(contato.getDataNascimento().getTimeInMillis()));
stmt.execute();
stmt.close();
}catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
Eu coloquei o driver do postgres na pasta lib do projeto, e depois fui em Build Pach e add o driver. Este mesmo Drive funcionou em uma aplicação java básica, mas no WEB aconteceu o erro relatado.
Alguém pode me ajuda?
Grato.