Pracuji na webovém projektu a nedávno jsem nainstaloval postgres 9.1.1
...
Přidal jsem to do cesty sestavení Java pomocí vlastností projektu přes Eclipse.
To je špatný způsob. Tento JAR musí být vypuštěn přímo do /WEB-INF/lib složky webového projektu, aniž byste si museli pohrávat s Cestou sestavení ve vlastnostech projektu. Tato složka je standardní součástí runtime classpath webové aplikace.
Nesouvisí ke konkrétnímu problému:ve vašem DBConnection máte velkou konstrukční chybu třída. Deklarovali jste Connection jako static díky čemuž je vaše připojení v podstatě nebezpečné pro vlákna . Používejte fond připojení a nikdy nepřiřazujte Connection (ani Statement ani ResultSet ) jako proměnná třídy/instance. Měly by být vytvořeny a uzavřeny ve stejném try-finally blokovat jako místo, kde provádíte dotaz. Dále zde máte také SQL injekční otvor. Použijte PreparedStatement místo zřetězení uživatelem řízených proměnných v řetězci SQL.
Viz také:
- Postupy sdružování připojení JDBC MySql, aby se zabránilo vyčerpání fondu připojení
- Získejte připojení k databázi z fondu připojení
- Používám sdružování připojení JDBC?