Estou trabalhando em um projeto da Web e instalei recentemente o postgres 9.1.1
...
Adicionei-o ao caminho de compilação java usando as propriedades do projeto através do eclipse.
Essa é a maneira errada. Esse JAR deve ser descartado diretamente em
/WEB-INF/lib
pasta do projeto web sem mexer no Caminho de construção nas propriedades do projeto. Essa pasta é parte padrão do classpath de tempo de execução do webapp. Não relacionado para o problema concreto:você tem uma grande falha de design em seu
DBConnection
aula. Você declarou Connection
como static
o que essencialmente torna sua conexão não threadsafe . Use um pool de conexões e nunca atribua a Connection
(nem Statement
nem ResultSet
) como uma variável de classe/instância. Eles devem ser criados e fechados no mesmo try-finally
block como onde você está executando a consulta. Além disso, você também tem um buraco de injeção de SQL. Use PreparedStatement
em vez de concatenar variáveis controladas pelo usuário na string SQL. Veja também:
- Práticas de pool de conexão JDBC MySql para evitar pool de conexão esgotado
- Obter conexão de banco de dados de um pool de conexões
- Estou usando o pool de conexões JDBC?