私はウェブプロジェクトに取り組んでいます 最近、postgres9.1.1をインストールしました
...
プロジェクトのプロパティを使用してJavaビルドパスに追加しました 日食を介して。
それは間違った方法です。そのJARは/WEB-INF/libに直接ドロップする必要があります ビルドパスをいじらずにWebプロジェクトのフォルダ プロジェクトのプロパティで。そのフォルダは、Webアプリケーションのランタイムクラスパスの標準部分です。
無関係 具体的な問題:DBConnectionに大きな設計上の欠陥があります クラス。 Connectionを宣言しました staticとして これにより、基本的に接続がスレッドセーフではなくなります 。接続プールを使用し、Connectionを割り当てないでください (またはStatement ResultSetでもありません )クラス/インスタンス変数として。それらは、まったく同じtry-finallyで作成および閉じる必要があります クエリを実行している場所としてブロックします。さらに、SQLインジェクションの穴もあります。 PreparedStatementを使用する SQL文字列でユーザー制御変数を連結する代わりに。
関連項目:
- 接続プールの枯渇を回避するためのJDBCMySql接続プールの実践
- 接続プールからデータベース接続を取得する
- JDBC接続プールを使用していますか?