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?