Sto lavorando a un progetto web e di recente ho installato Postgres 9.1.1
...
L'ho aggiunto al percorso di build java usando le proprietà del progetto tramite l'eclissi.
Questo è il modo sbagliato. Quel JAR deve essere rilasciato direttamente in /WEB-INF/lib
cartella del progetto web senza giocherellare con il Percorso di creazione nelle proprietà del progetto. Quella cartella è parte standard del percorso di classe di runtime di webapp.
Non correlato al problema concreto:hai un grave difetto di progettazione nel tuo DBConnection
classe. Hai dichiarato Connection
come static
che essenzialmente rende la tua connessione non threadsafe . Utilizza un pool di connessioni e non assegnare mai la Connection
(né Statement
né ResultSet
) come variabile di classe/istanza. Dovrebbero essere creati e chiusi nello stesso try-finally
blocco come dove stai eseguendo la query. Inoltre hai anche un buco di iniezione SQL. Usa PreparedStatement
invece di concatenare le variabili controllate dall'utente nella stringa SQL.
Vedi anche:
- Pratiche di pool di connessioni JDBC MySql per evitare un pool di connessioni esaurito
- Ottieni la connessione al database da un pool di connessioni
- Sto utilizzando il pool di connessioni JDBC?