Jag arbetar med ett webbprojekt och jag installerade nyligen postgres 9.1.1
...
Jag lade till den i Java-byggvägen med hjälp av projektegenskaperna via förmörkelse.
Det är fel sätt. Den JAR måste släppas direkt i /WEB-INF/lib
mapp för webbprojektet utan att pilla med byggvägen i projektets fastigheter. Den mappen är standarddel av webbappens runtime classpath.
Orelaterat till det konkreta problemet:du har ett stort designfel i din DBConnection
klass. Du har deklarerat Connection
som static
vilket i grunden gör din anslutning inte trådsäker . Använd en anslutningspool och tilldela aldrig Connection
(inte heller Statement
inte heller ResultSet
) som en klass/instansvariabel. De bör skapas och stängas i samma try-finally
blockera som där du kör frågan. Dessutom har du också ett SQL-injektionshål. Använd PreparedStatement
istället för att sammanfoga användarkontrollerade variabler i SQL-strängen.
Se även:
- JDBC MySql-anslutningspoolningsmetoder för att undvika uttömd anslutningspool
- Hämta databasanslutning från en anslutningspool
- Använder jag JDBC Connection Pooling?