Erro na inclusão de novos dados - postgres e JDBC

9 respostas
K

Amigos,

Tenho uma classe de conexão simples e funcional. Criei uma classe de teste para inserção dos dados.
Agora, quando chamo esta conexão atraves de um arquivo JSP, ele dá erro :

No suitable driver found for jdbc:postgresql://localhost:5432/teste

sejam o meu codigo :
public class ConnectionFactory {

	public Connection getConnection() {
		try {
			return DriverManager.getConnection("jdbc:postgresql://localhost:5432/teste", "postgres", "postgres");
		} catch (SQLException e) {
			throw new RuntimeException(e.getMessage());
		}
	}

}
e aqui está a minha servlet :
@WebServlet("/AdicionaContatoServlet")
public class AdicionaContatoServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    
	protected void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
		PrintWriter saidaDados = response.getWriter();
		
		String nome = request.getParameter("nome");
		String email = request.getParameter("email");
		String endereco = request.getParameter("endereco");
		String dataTexto = request.getParameter("dataNascimento");
		Calendar dataNascimento = null;
		
		try {
			Date dataConvertida = new SimpleDateFormat("dd/MM/yyyy").parse(dataTexto);
			dataNascimento = Calendar.getInstance();
			dataNascimento.setTime(dataConvertida);
			
		} catch (ParseException e) {
			saidaDados.print("Erro ao converter data ");
			return;
		} 
		
		Contato contato = new Contato();
		contato.setNome(nome);
		contato.setEmail(email);
		contato.setEndereco(endereco);
		contato.setDataNascimento(dataNascimento);
		
		ContatoDAO contatoDao = new ContatoDAO();
		contatoDao.adiciona(contato);
		
		saidaDados.print("<html>");
		saidaDados.print("<body>");
		saidaDados.print("Contato" +contato.getNome()+ "adicionado com sucesso !" );
		saidaDados.print("</body>");
		saidaDados.print("</html>");
	}

}

9 Respostas

K

Ah … eu já inserir o arquivo JAR na minha classpath do meu projeto

jimmyhc

verifique se o jar está na lib do seu projeto.

K

Sim amigo… já está incluso …

diogoprosoft
Você precisa indicar o drive_class para sua conexão

Class.forName(org.postgresql.Driver);

DriverManager.getConnection(jdbc:postgresql://localhost:5432/teste, postgres, postgres);

Tem vários exemplos aqui no guj

K

Então, porque na minha classe de teste de inserção de dados funciona ?

E

Tem o código da JSP?
Está incluindo o jar do postgre na pasta lib do WEB-INF?
Espero ter ajudado.

K

Amigão, eu inclui o jar de conexão no build path do projeto inteiro em add external jars … estou inserindo errado ?

E

Como tu está trabalhando com um projeto web, tenta fazer o seguinte:

Dentro do teu projeto, na parte onde ficam os arquivos jsp, html… possívelmente WebContent tem uma pasta chamada WEB-INF > lib, aí tu pode colocar todas as classes que tu precisa, funciona como um classpath da aplicação. Basta copiar e colar os jars que tu precisa nesta pasta dentro do sistema de arquivos. Copia o arquivo e vai dentro de onde tá salvo o worspace em ‘nome_do_projeto’\WebContent\WEB-INF\lib e cola o jar nessa pasta.
Espero que funcione.

K

Evertonlc,

Muito obrigado … era o driver que estava no lugar errado mesmo … estou usando o eclipse para o projeto e estudando usando a apostila livre da caelum (fj-21) …
Mais uma vez, muito obrigado !!!

Criado 31 de agosto de 2010
Ultima resposta 31 de ago. de 2010
Respostas 9
Participantes 4