Saya sedang mengerjakan proyek web dan saya baru saja menginstal postgres 9.1.1
...
Saya menambahkannya ke jalur pembangunan Java menggunakan properti proyek melalui gerhana.
Itu cara yang salah. JAR itu harus dijatuhkan langsung di /WEB-INF/lib
folder proyek web tanpa mengutak-atik Build Path di properti proyek. Folder itu adalah bagian standar dari classpath runtime webapp.
Tidak terkait untuk masalah konkret:Anda memiliki cacat desain utama di DBConnection
kelas. Anda telah mendeklarasikan Connection
sebagai static
yang pada dasarnya membuat koneksi Anda tidak threadsafe . Gunakan kumpulan koneksi dan jangan pernah menetapkan Connection
(atau Statement
atau ResultSet
) sebagai variabel kelas/instance. Mereka harus dibuat dan ditutup dalam try-finally
yang sama blokir sebagai tempat Anda menjalankan kueri. Selanjutnya Anda sudah ada juga lubang injeksi SQL. Gunakan PreparedStatement
alih-alih menggabungkan variabel yang dikontrol pengguna dalam string SQL.
Lihat juga:
- Praktik penyatuan koneksi JDBC MySql untuk menghindari kumpulan koneksi yang habis
- Dapatkan koneksi database dari kumpulan koneksi
- Apakah saya Menggunakan Penggabungan Koneksi JDBC?