Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
BAHASA PEMROGRAMAN 3 PERTEMUAN KE 3 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO POKOK BAHASAN ACTION STANDAR BEAN DAN PEMROSESAN FORM PEMROGRAMAN DATABASE DI JSP ACTION STANDAR Standard Action adalah tag yang berfungsi untuk menjalankan suatu operasi yang spesifik, seperti : 1. Mem-forward dari suatu halaman JSP ke halaman JSP yang lain. 2. Menyisipkan suatu halaman / operasi pada halaman JSP dari halaman JSP yang lain. 3. Penanganan Applet atau Java Bean pada suatu halaman JSP (Java Bean akan dijelaskan lebih jauh pada materi yang akan datang). Standar action cara penulisannya mirip dengan aturan penulisan pada XML. Sintak dari Standard Action ini adalah : <jsp:nama_aksi atribut1 atribut2 .... /> Atau : <jsp:nama_aksi atribut1 atribut2 .... /> /* pada bagian ini bisa diisi dengan JSP Action yang lain */ </jsp:nama_aksi> Berikut adalah Standard Action yang terdapat dan dikenali oleh JSP: • param action (jsp:param) • forward action (jsp:forward) • include action (jsp:include) • plugin action (jsp:plugin) • use bean action (jsp:useBean) • set property action (jsp:setProperty) • get property action (jsp:getProperty) Jsp:param Standar Action ini berfungsi untuk mendefinisikan suatu variabel dan nilainya. Sintak yang digunakan adalah : <jsp:param name="nama_parameter" value="nilai_parameter" /> Atau : <jsp:param name="nama_parameter" value="<%= nilai_parameter %>" /> Jsp:forward Fungsi dari Standar Action ini adalah untuk mengirimkan (mem-forward) suatu permintaan dari suatu halaman JSP ke halaman JSP yang lain, halaman HTML atau Servlet yang masih berada pada konteks aplikasi web tersebut. Sintaknya : <jsp:forward page="url_tujuan" /> Atau : <jsp:forward page="<%= url_tujuan %>" /> jsp:setProperty Fungsi tag ini adalah untuk men-set nilai dari properti pada objek yang dibuat dengan tag jsp:useBean. Sintaksnya adalah : <jsp:setProperty name="id_objek" [ property="*" | property="nama_properti" |property="nama_properti“ param="nama_parameter" |property="nama_properti“ value="nilai_properti|<%= expression %>"] /> jsp:include Standard action berfungsi untuk menyisipkan halaman yang bersifat statik maupun dinamik. Sintaks dari tag ini adalah : <jsp:include page=”nama_file” flush=”true” /> jsp:getProperty tag ini berfungsi untuk mengambil dan menampilkan ke layar nilai suatu properti yang diinginkan pada objek yang dibuat dengan tag java:useBean. Sintaks yang digunakan adalah : <jsp:getProperty name="id_objek" property="nama_property_pada_objek" /> PEMROGRAMAN DATABASE DI JSP JSP sebagai teknologi untuk pembuatan aplikasi web memiliki kemampuan menangani database dengan menggunakan JDBC sebagai perantara antara program JSP dengan database server. Oleh karena itu untuk memahami bagaimana membuat program JSP yang dapat mengakses database harus mengerti teknologi JDBC terlebih dahulu. JDBC (Java Database Connectivity) merupakan sekumpulan API (Application Programming Interface) yang digunakan untuk mengeksekusi pernyataan sql pada platform java. Teknologi JDBC mampu untuk melakukan tiga hal berikut: 1. Membangun sebuah koneksi ke sumber data (data source). 2. Mengirim statement ke sumber data. 3. Memproses hasil dari statement tersebut Penggunaan JDBC 1. 2. 3. 4. 5. 6. 7. Load Driver Mendefinisikan Koneksi URL Membuat Koneksi Membuat Objek Statement Mengeksekusi Query Memproses Result Menutup Koneksi Load Driver Untuk mengaktifkan hubungan antar aplikasi dan database, maka sebuah Connection harus dibentuk dengan menggunakan JDBC Driver. Connection dibentuk melalui satu class java.sql.DriverManager dan dua interface, yaitu java.sql.Driver dan java.sql.Connection. Class untuk JDBC diakses melalui java.sql.*. Driver adalah software yang menangani komunikasi ke database server. Berikut ini adalah jika yang kita gunakan adalah JDBC-ODBC driver. try { Class.forName(“sun.jdbc.odbc.JdbcDriver”); } catch (ClassNotFoundException ex) { System.err.println(“Driver Error”); ex.printStackTrace(); System.exit(1); } Mendefinisikan Koneksi URL Menspesifikasikan lokasi database server. Untuk mendefinisikan URL bisa menggunakan dokumentasi driver. Untuk penggunaan JDBC di applet maka database server harus berada pada node yang sama dengan letak applet dan menggunakan proxy server yang me “reroute” request database ke actual server. Untuk database access: String dbname="jdbc:odbc:dataSourceName"; Membuat Koneksi Membuat koneksi bisa dilakukan dengan cara memanggil method getConnection() dari DriverManager dengan melewatkan URL sebagai argumen. Method getConnection() akan melempar SQLException. Contoh: String username = ”tito”; String password = ”rahasia”; Connection con = DriverManager.getConnection(oracleURL, username, password); Membuat Objek Statement Obyek Statement digunakan untuk mengirim query dan perintah ke database. Obyek statement dibuat dengan cara bekerjasama dengan class Connection. Untuk membuat obyek Statement maka kita harus memangil method createStatement() dari Connection. Contoh: Statement statement = connection.createStatement(); Mengeksekusi Query Untuk mengeksekusi query kita bisa memanfaatkan objek Statement untuk memproses hasil query. Caranya adalah dengan memanggil method executeQuery() dari objek Statement. Method executeQuery() akan mengembalikan nilai yang bertipe ResulSet. Contoh: String sql=“select col1, col2, col3 from sometable”; ResultSet rs=statement.executeQuery(sql); Memproses Result Untuk memproses result kita bisa menggunakan method next() pada objek ResultSet untuk mendapatkan result per satu baris. Selama data masih ada method next() akan mengembalikan nilai true dan jika sudah tidak ada akan mengembalikan nilai false. String nrp; String nama; while (rs.next()){ nrp=rs.getString(1); nama=rs.getString(2); System.out.println("NRP : " +nrp); System.out.println("NAMA : " +nama); System.out.println("-------------"); } Menutup Koneksi Karena membuka koneksi adalah mahal, maka penundaan langkah terakhir ini hanya jika masih ada operasi database yang dilakukan. Deklarasi untuk menutup koneksi harus didefinisikan secara eksplisit dengan cara sebagai berikut: connection.close();