Java Server Pages (JSP), yang memfasilitasi pengembangan program secara cepat dari sisi server, telah menjadi alat yang sangat populer. Meskipun sisi membosankannya masih ada, tidak peduli berapa banyak kekurangan yang dikandungnya, JSP memiliki banyak hal untuk ditawarkan kepada pemrogram Web, terutama dalam operasi input dan output database serta pemrosesan data.
Akses database melalui JSP tidak memerlukan banyak panduan. Masalahnya adalah bagaimana membuat pengembang menerima bahwa akses database dari program Web lebih menarik daripada akses database dari sistem OLAP lokal tradisional, dan membuat mereka menyadari bahwa metode akses data yang bersih dan ringkas adalah kuncinya. Pada titik ini, JSP dapat menyelesaikannya dengan sangat baik.
Apa yang bisa kamu lakukan?
Jika Anda menulis program Web dengan volume data tinggi dan kepadatan data tinggi, persyaratan apa yang harus dimiliki akses database Anda? Jika Anda menggunakan JSP, Anda harus berurusan dengan banyak data sisi server. Program ini mungkin memerlukan data dalam jumlah besar, atau banyak pengguna, atau kombinasi keduanya. Area yang mungkin juga Anda pertimbangkan meliputi: pengoptimalan performa, kemampuan deteksi, dampak beberapa kueri per pengguna, kompleksitas kueri, dan konversi tipe tingkat tinggi saat satu sesi menangani data dalam jumlah besar.
Ini melibatkan pemrosesan skala besar. Namun, JSP dapat membantu Anda mengatasinya dengan baik karena kompatibel dengan Java Database Connectivity API (JDBC). Anda dapat memasukkan JDBC dalam kode JSP, dan JDBC dapat meneruskan pernyataan untuk menjalankan perintah seperti database, selama Anda menggunakan driver JDBC dengan benar.
Pada awalnya, berikut adalah sistem eksekusi program JSP yang umum dan abstrak. Pola desain JSP yang disukai adalah Model-View-Controller (MVCModel-View-Controller), yang merupakan variasi dari sistem tiga tingkat tradisional agar lebih sesuai dengan program server. Dalam pola desain MVC JSP, Model mengacu pada logika dan data program, View mengacu pada tampilan, dan Controller mengacu pada pemrosesan permintaan.
Saat Anda mendesain program JSP, yang terbaik adalah membuat halaman yang merupakan langkah pertama antara interaksi klien dan server. Misalnya, dalam program yang umum, akan ada halaman untuk setiap langkah spesifik dalam pertukaran data: halaman entri data, halaman permintaan validasi, halaman respons basis data, dan subhalaman dari halaman-halaman ini (halaman catatan perubahan, halaman Hapus rekaman). halaman, dll).
Anda dapat menyematkan JDBC ke setiap halaman untuk menyelesaikan operasi database yang diminta. Namun operasi ini juga membawa resiko yang besar, karena seluruh program dicampur dengan mencampurkan JSP dan JDBC-JDBC yang berbasis SQL. Artinya SQL dienkapsulasi di JDBC, dan JDBC juga dienkapsulasi di JSP─ini cukup membuat pusing. Jika Anda memilih pendekatan ini, Anda akan mendapatkan fungsionalitas yang Anda inginkan, namun berhati-hatilah untuk memastikan bahwa hubungan antara logika program dan kode akses database Anda sangat jelas.
TertanamJDBC
JDBC API tidak berkomunikasi langsung dengan database. Koneksi sebenarnya dilakukan oleh driver, yang dapat Anda unduh dari situs web penjual. Selain itu, ada empat jenis driver JDBC. Jika Anda memutuskan untuk menggunakan JDBC, Anda harus memilih jenis driver yang paling sesuai dengan kebutuhan Anda. Anda akan menggunakan kelas DriverManager untuk menangani koneksi berbasis driver.
Anda dapat menggunakan metode DriverManager yang disebut getConnection untuk membuat koneksi database Anda. Anda juga dapat mengidentifikasi database menggunakan parameter URL-nya:
public static Connection getConnection(jdbc:odbc:nameOfDatabase)
Sekarang, beri tahu DriverManager tentang driver (harus ada di classpath Anda):
Class.forName("sun.jdbc.odbc.nameOfJDBCDriver ”);
Anda telah menghubungkan database ke program JSP, namun Anda masih tidak dapat menjalankan perintah database. Untuk mengatasinya, Anda dapat membuat pernyataan dalam kode JSP untuk membuat perintah database seperti ini:
public Statement createStatement(intresultSetType, intresultSetConcurrency)
Parameter memungkinkan Anda mengontrol hasil yang diperoleh dari kueri database. Saat menggunakan parameter pertama, Anda dapat melihat hasilnya di program; saat menggunakan parameter kedua, Anda dapat memperbarui nilainya melalui kueri (ini adalah fitur luar biasa yang perlu dibahas lebih lanjut di artikel mendatang).
Tabel A
http://builder.com.com/5100-6387-5172666.html?tag=sc#Listing
AListing A menunjukkan kompleksitas pencatatan dua metode berikutnya.
Pernyataan adalah perintah SQL. PreparedStatement adalah pernyataan SQL, dan Anda dapat mengontrol proses program melalui parameternya. CallableStatement digunakan untuk mengakses prosedur tersimpan SQL. Apakah Anda mulai menyadari bahwa jika Anda tidak melihat petunjuk ini, apakah Anda menganggap pernyataan ini rumit? Perlu diketahui bahwa dengan memanggil metode rollback, Anda dapat membatalkan proses transaksi.
Jika Anda ingin menggunakan semua metode akses database ini, satu-satunya hal yang Anda lewatkan adalah:
ResultSetexecuteQuery(string sqlQuery)
(Anda dapat menggunakan executeQuery untuk menyelesaikan proses di atas. Anda juga dapat menggunakan executeUpdate untuk menyelesaikan pembaruan, penyisipan, dan penghapusan). Antarmuka deklarasi Anda di atas memungkinkan Anda menggunakan sejumlah metode untuk melakukan deklarasi SQL. Yang dilakukan ResultSet hanyalah mengakses data yang diperoleh dari kueri, sehingga Anda dapat menggunakan data ini dalam program JSP Anda.
Dengan memecah program JSP menjadi satu halaman yang jelas secara fungsional dan melakukan operasi database tunggal di halaman mana pun, Anda dapat menyederhanakan operasi database Anda dan membuat halaman yang dapat digunakan untuk pengembangan program di masa mendatang bahkan jika Anda menyematkan SQL ke JDBC pada halaman ini .
Namun masih ada lagi yang dapat Anda lakukan untuk membuat akses database JSP Anda lebih bersih dan mudah dipelihara. Menyematkan JDBC dalam kode JSP dan berkomunikasi dengan database dengan mengirimkan perintah SQL adalah proses yang baik. Namun, hal ini memerlukan pembuatan program untuk perintah SQL melalui antarmuka tanpa menambah kompleksitas kode. Ketika pemrosesan SQL Anda memerlukan peningkatan fleksibilitas, Anda dapat memisahkan lebih lanjut kode antarmuka database Anda untuk membersihkan program JSP Anda. Pada artikel berikut, saya akan memberi tahu Anda cara menerapkan proses ini.