PERTEMUAN KE 2 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO BAHASA PEMROGRAMAN 3 PERTEMUAN KE 2 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO
POKOK BAHASAN PENGENALAN JSP PEMROGRAMAN JSP BEAN DAN PEMROSESAN FORM PEMROGRAMAN DATABASE DI JSP
JAVA SERVER PAGES Java Server Pages (JSP) adalah bahasa scripting untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Tujuan adanya JSP adalah mempermudah pembuatan dan manajemen halaman web dinamis, dengan memisahkan logic bisnis dengan presentasi/tampilan. JSP terdiri dari html/xml, tag script dan jsp.
GAMBARAN JSP
Garis Besar Pemakaian JSP Web Browser (Client) Web Server JSP Container JSP Pages JDBC.. EJB DB HTTP request HTTP response Java Beans
Client mengirimkan request HTTP kepada JSP Container JSP container menentukan class yang mengimplementasikan halaman JSP, yang dituju oleh request JSP Container kemudian memanggil salah satu method dari class implementasi tersebut untuk menangani request secara dinamis dan menghasilkan response berupa content halaman HTML Output halaman HTML diberikan kepada JSP container untuk dikirimkan sebagai response kepada client
Komponen Utama Halaman JSP Bahasa pokok, yaitu bahasa yang dipakai dalam file output ketika JSP dieksekusi. Dapat berupa HTML, XML, DHTML. Elemen-elemen JSP Expression Language Kode java yang terletak dalam elemen- elemen scripting: scriplet, declaration dan expression.
Halaman JSP dapat disusun memakai sintaks JSP standar atau dengan memakai sintaks dokumen JSP (XML) Halaman JSP dapat berisi markup(tag-tag JSP), kode java maupun content statik. Secara garis besar ada 3 elemen dalam spesifikasi JSP yang berkaitan dengan sintaks inti: Directive standar Elemen Scripting Action Standar
Elemen Scripting Seperti halnya ASP dan PHP, skrip JSP terintegrasi dengan kode-kode HTML. Untuk itu diperlukan pembatas awal dan akhir dimana elemen JSP diletakkan. Pembatas yang digunakan adalah tanda berikut ini: <% //Element JSP %>
Contoh : Latihan1.jsp <html> <head> <title> JSP</title> </head> <body> <% out.println("<h1>Hello World...Hello JSP</h1>"); %> </body> </html>
Contoh : Latihan2.jsp <html> <head> <title>Halaman JSP pada latihan pertama</title> </head> <body> <% for (int i=1; i<=5; i++) { %> Halaman JSP pada latihan pertama <br> <% } %> </body> </html>
DEKLARASI Seperti yang telah disebutkan di atas, deklarasi berguna untuk mendeklarasikan atau inisialisai suatu variabel, selain untuk mendeklarasikan suatu method. Bentuk deklarasi sama persis seperti dalam bahasa java yang sering digunakan. Sintaks Standar : <%! Declaration; [declaration;]+ ... %>
Contoh : Latihandeklarasi.jsp <%! private int PENCACAH = 1; %> <html> <head> <title>LATIHAN Deklarasi di JSP</title> </head> <body> <% out.println("Halaman ini telah "+PENCACAH+" kali dikunjungi"); PENCACAH++; </body> </html>
EKSPRESI Elemen expression dalam JSP dipakai untuk menyisipkan nilai dari sebuah ekspresi java ke dalam objek response. Nilai ekspresi java akan dievaluasi lalu dikonversi otomatis menjadi string. Sintaks Standar <%= expression %> Sintaks di XML <jsp:expression> expression </jsp:expression>
Contoh : Latihan Ekspresi <html> <head> <title>Latihan Ekspresi</title> </head> <body> <% for (int i=1; i<=5; i++) { %> <%=i%> Contoh Ekspresi<br> <% } %> </body> </html>
DIRECTIVE STANDAR Directive adalah media yang digunakan JSP untuk mengirimkan “pesan” ke JSP container. Directive berguna untuk melakukan setting nilai global seperti deklarasi class atau method. Setting yang dilakukan oleh directive berlaku pada seluruh halaman (hanya halaman itu saja). Sintaks Directive <%@ nama_directive atribut=”nilai”. . . . %>
JENIS DIRECTIVE Page Directive Include Directive Taglib Directive
PAGE DIRECTIVE Directive ini berfungsi untuk mendefinisikan atribut-atribut yang akan berlaku pada halaman tersebut. Sebagai contoh dengan menggunakan directive ini suatu halaman bisa diberikan informasi mengenai apa, meng-import package- package yang akan digunakan, menyatakan halaman tersebut terlibat dalam HTTP session, mendefinisikan URL yang akan ditampilkan apabila terjadi error pada halaman JSP tersebut dan lain-lain. Pada sebuah halaman JSP dapat berisi atas banyak page directive.
<%@ page atribut1 atribut2 . . . %> PAGE DIRECTIVE Tanda yang digunakan untuk directive ini adalah : <%@ page atribut1 atribut2 . . . %> Atribut untuk tipe directive ini dapat dilihat pada contoh berikut : Atribut language Atribut ini mendefinisikan bahasa pemrograman apa yang digunakan pada halaman tersebut. Atribut ini ada dikarenakan apabila dimasa yang akan datang JSP engine dapat men-support bahasa pemrograman lain. Berikut adalah contoh penggunaannya : <%@ page language=”java” %>
<%@ page info=”Ini adalah halaman JSP-nya Chocolove” %> PAGE DIRECTIVE Atribut import Berikut adalah contoh penggunaannya : <%@ page import=”java.io.*, java.sql.*” %> Atribut info Atribut ini hanya mendefinisikan informasi dari halaman. Dengan menggunakan atribut ini suatu aplikasi servlet dapat mengambil informasi tersebut dengan method Servlet.getServletInfo(). Berikut adalah contohnya : <%@ page info=”Ini adalah halaman JSP-nya Chocolove” %>
<%@ page errorPage=”error.jsp” %> Atribut errorPage Atribut ini mendefinisikan URL yang akan ditampilkan apabila terjadi error pada halaman JSP tersebut. <%@ page errorPage=”error.jsp” %> Atribut contentType Nilai default dari atribut ini adalah “text/html”.
<%@ page session=”true” %> Atribut session Menyatakan halaman tersebut terlibat dalam HTTP session. Apabila halaman JSP menggunakan directive page dengan atribut ini artinya halaman tersebut nantinya akan digunakan untuk mengakses atau memberikan nilai pada variabel yang disimpan pada session. <%@ page session=”true” %>
Untuk penggunaan atribut tentu saja tidak harus dituliskan satu-satu seperti contoh di atas, tapi dapat disatukan sekaligus, seperti contoh berikut : <%@ page language=”java” import=”java.sql.*, java.io.*, java.util.*” session=”true” buffer=”24kb” autoFlush=”true” info=”Contoh penggunaan Directive” errorPage=”error.jsp” isErrorPage=”false” isTreadSafe=”false” %>
INCLUDE DIRECTIVE Directive ini berfungsi untuk menyisipkan isi dari suatu file dengan tipe teks pada suatu halaman JSP. Sintaks yang digunakan oleh directive ini adalah : <%@ include file="/namafile_yang_akan_disisipkan" %> Bisa dilihat pada directive ini mempunyai satu atribut yaitu file. URL dari file yang akan disisipkan harus diawali dengan tanda "/". Apabila yang akan disisipkan adalah file login.html maka penulisannya adalah : <%@ include file="/login.html" %>
Sedangkan apabila file login Sedangkan apabila file login.html berada dalam direktori “Daftar" maka penulisannya menjadi sebagai berikut : <%@ include file="/Daftar/login.html" %>
TAGLIB DIRECTIVE Directive ini berfungsi untuk penggunaan tag-tag yang dibuat sendiri oleh user pada halaman JSP. Tag-tag tersebut biasanya disimpan dalam “tag library” dalam bentuk file yang dikompres (ZIP atau JAR). Dalam file yang dikompres tersebut terdapat class-class dalam suatu paket. Dan untuk memanggil atau mengoperasikan method atau properti dalam class tersebut digunakan directive ini.
Sintaks dari directive ini adalah : <%@ taglib uri=”tag_library_URI” prefix=”tag_prefix” %> Atribut uri (Uniform Resource Identifier) berfungsi sebagai “tag library descriptor”. Dan atribut prefix berfungsi sebagai ID yang akan mempermudah “JSP Compiler” menentukan tag-tag dari “external library”. Tag-tag yang telah dikenali oleh “JSP Compiler” adalah jsp, jspx, java, javax, servlet dan sunw.
ACTION STANDAR Standard Action adalah tag yang berfungsi untuk menjalankan suatu operasi yang spesifik, seperti : Mem-forward dari suatu halaman JSP ke halaman JSP yang lain. Mennyisipkan suatu halaman / operasi pada halaman JSP dari halaman JSP yang lain. Penanganan Applet atau Java Bean pada suatu halaman JSP (Java Bean akan dijelaskan lebih jauh pada materi yang akan datang).
<jsp:nama_aksi atribut1 atribut2 .... /> Standar action cara penulisannya mirip dengan aturan penulisan pada XML. Sintak dari Standard Action ini adalah : <jsp:nama_aksi atribut1 atribut2 .... /> Atau : /* 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: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: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: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" />
RANGKUMAN JSP TAG Elemen JSP Penjelasan <% .... ..... ..... %>