Ik werk aan een webproject en ik heb onlangs postgres 9.1.1 . geïnstalleerd
...
Ik heb het toegevoegd aan het Java-buildpad met behulp van de projecteigenschappen via eclips.
Dat is de verkeerde manier. Die JAR moet direct in /WEB-INF/lib map van het webproject zonder te knoeien met het Build Path in de eigenschappen van het project. Die map maakt standaard deel uit van het runtime-klassenpad van de webapp.
Niet gerelateerd op het concrete probleem:je hebt een grote ontwerpfout in je DBConnection klas. Je hebt Connection verklaard als static waardoor uw verbinding in wezen niet threadsafe is . Gebruik een verbindingspool en wijs nooit de Connection . toe (noch Statement noch ResultSet ) als een klasse/instantievariabele. Ze moeten worden gemaakt en gesloten in precies dezelfde try-finally blok als waar u de query uitvoert. Verder heb je daar ook nog een SQL injectie gat. Gebruik PreparedStatement in plaats van door de gebruiker bestuurde variabelen in de SQL-string aaneen te schakelen.
Zie ook:
- JDBC MySql-verbindingspoolingpraktijken om een uitgeputte verbindingspool te voorkomen
- Verkrijg databaseverbinding van een verbindingspool
- Gebruik ik JDBC Connection Pooling?