PENGERTIAN JAVA SERVER PAGE
JSP (Java Server Page)
Menurut Prakoso dan Foenadioen (2008), Java Server Page adalah bahasa scripting
untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP
dapat berupa gabungan antara baris HTML dan funsi-fungsi dari JSP yang
disisipkan.
JSP merupakan suatu teknologi web berbasis bahasa pemrograman java dan berjalan
di platform java, serta merupakan bagian teknologi J2EE ( Java 2 Enterprise
Edition). JSP sangat tangguh dan sesuai untuk menangani permintaan client di web.
Dasar-dasar JSP
Dasar-dasar JSP
JSP menyediakan empat kategori tag,
yaitu directive, elemen scripting, komentar, dan action.
Pada bagian ini kita tidak akan mempelajari tentang deklarasi variabel,
struktur kontrol program, class dan method. Hal ini karena JSP didasarkan pada
java, sehingga bagian-bagian tersebut sama dengan apa yang kalian pelajari pada
bab tentang pemrograman Java (Bab 8).
Directive
Directive adalah sekumpulan tag yang menentukan bagaimana dokumen yang berisi
direktif ini akan diproses. Directive 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). Secara umum
sintaks directive adalah sebagai berikut :
<%@ nama_directive
atribut1="nilai1" atribut2="nilai2" . .%>
Directive
pada JSP terdiri atas tiga jenis tentu saja dengan fungsi yang berbedabeda.
- Page :
digunakan untuk mendefinisikan atribut-atribut yang terdapat pada halaman JSP.
Atribut-atribut ini misalnya atribut language, import, info, errorpage dan
lain-lain. Cara penulisannya dengan menggunakan tanda @ setelah tag JSP (<%)
diikuti kata page dan atributnya. Contoh :
<%@ page
language="java" %>
- Include
: digunakan untuk menyisipkan suatu berkas atau mengimpor suatu kelas. Cara
penulisannya dengan menggunakan tanda @ setelah tag JSP (<%) diikuti kata
include dan atributnya. Contoh :
<%@ include
file="/header.html" %>
- Taglib :
digunakan untuk mendefinisikan tag-tag yang dibuat sendiri oleh pemrogram. Cara
penulisannya dengan menggunakan tanda @ setelah tag JSP (<%) diikuti kata
taglib dan atributnya. Contoh: <%@ taglib uri =
"http://jakarta.apache.org/taglibs/application-1.0"
prefix="app" %>
Elemen Scripting
Elemen scripting digunakan
untuk menggabungkan instruksi-instruksi pemrograman Java ke dalam halaman web.
Instruksi tersebut akan dieksekusi setiap kali halaman diproses sebagai
permintaan. Ada tiga jenis scripting yaitu deklarasi, scriplet dan ekspresi.
Deklarasi
JSP
menyediakan tag yang secara khusus ditujukan untuk melakukan pendeklarasian
variable yang berlevel halaman. Variabel seperti ini akan dikenali di sepanjang
halaman. Tag yang dimaksud dinamakan tag deklarasi. Tag ini berbentuk sebagai
berikut :
<%!.....%>
Contoh 14.1. Penggunaan tag
deklarasi.
Ketikkan
kode berikut dan simpan dengan nama contoh14-1.jsp.
<html>
<head>
<title>Tag Deklarasi</title>
</head>
<body>
<%!
String baju;
int harga = 60000;%>
Setelah Deklarasi : <br>
<%
baju = "John Mc Roe";
out.println("Merek baju : " + baju + "<BR>");
out.println("Harga baju : " + harga + "<BR>");
%>
</body>
</html>
|
Jalankan program tersebut maka tampilan hasil akan tampak seperti pada Gambar
14.18. Pada contoh kode ini tag deklarasi digunakan untuk mendeklarasikan dua
variabel yaitu baju dengan tipe data string dan harga dengan tipe data int.
Perhatikan juga cara mengisi, memanggil dan menampilkan kembali isi dari
variabel dengan pernyataan out.println.
Gambar 14.18. Hasil eksekusi
penggunaan tag deklarasi
Scriplet
Scriplet
merupakan sekumpulan kode program Java uang dijalankan setiap kali halaman JSP
dipanggil. Pada bagian ini kalian bisa memasukkan kode-kode program Java yang
telah kalian pelajari pada Bab 8. Cara penulisannya adalah dengan memberikan
tag <% kode %>. Contoh 14.2. Penggunaan tag scriplet.
<html><head>
<title>Contoh Println</title></head><body><%
out.print("Ini keluar dari tag scriplet");
out.print("Coba saja kalau tidak percaya"); %></body>
</html>
|
Simpan file dengan nama yang diakhiri .jsp. Jalankan kode progam
tersebut dan periksalah hasilnya.
Ekspresi
Ekspresi
adalah satu baris perintah yang digunakan untuk mengeksekusi perintah sekaligus
menampilkan dalam halaman web. Eskpresi ini mirip seperti ketika kita memanggil
fungsi/method pada Java. Cara penulisannya adalah dengan menggunakan tag <%=
kode %> Contoh 14.3. Penggunaan tag ekspresi. Ketikkan kode di bawah ini
kemudian simpan sebagai file jsp.
<%! //Deklarasi variabelint jmlUser=3;//Deklarasi
methodpublic String Hello(String nama) {
return "Hallo " + nama;
}%><HTML><HEAD>
<TITLE>Contoh tag ekspresi JSP</TITLE></HEAD><BODY>
<H3><% for (int i=1; i<=jmlUser; i++) {//Contoh
scriplets%><i><%=Hello("User "+ i +
"!")%></i><br><%}%>
</H3></BODY></HTML>
|
Jalankan
kode program di atas. Tampilan output akan tampak seperti pada Gambar 14.19.
Komentar
Komentar digunakan untuk memberikan keterangan pada kode-kode JSP. Ada tiga
jenis komentar yang dapat disisipkan dalam halaman JSP, yaitu komentar content,
komentar JSP dan komentar bahasa script. Komentar content ditulis dengan tag
<!-- komentar -->. Komentar model ini tidak menampilkan output ke
browser. Tapi tertulis pada source HTML. Komentar JSP merupakan tipe komentar
yang hanya tampak pada kode program JSP. Ketika kode JSP dikompilasi, komentar
tersebut akan dilewati dan tidak ikut dikompilasi. Komentar ini dituliskan
dengan cara <%-- komentar -->. Komentar bahasa script sama dengan yang
digunakan pada Java (lihat kembali bab 8). Komentar ini disisipkan pada
scriplet. Pada contoh 14.3 kita telah menggunakan salah satu cara komentar
bahasa script. Perhatikan pada baris yang diawali dengan tanda //. Cara yang
lain adalah dengan tanda /* komentar */.
Action
Action mendukung beberapa aksi yang berbeda-beda. Hampir mirip dengan
scripting, action akan dieksekusi setiap kali ada permintaan. Fungsi penting
dari action adalah memungkinkan terjadinya transfer kontrol antar halaman,
mendukung penggunaan applet Java dan memungkinkan JSP terintegrasi dengan
komponen JavaBeans.
JSP mengenal
tag action standar dan custom tag. Tag standar adalah tag yang didefinisikan
dalam spesifikasi JSP, sedangkan custom tag adalah tag baru yang dapat
didefinisikan sendiri. Pada bagian ini hanya dibahas mengenai tag action
standar. Tag action standar JSP adalah sebagai berikut :
<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
<jsp:param>
<jsp:include>
<jsp:forward>
<jsp:plugin>
Pada buku
ini kita akan mempelajari penggunaan action standard forward dan param. Forward
action ini digunakan untuk mentransfer kontrol dari sebuah halaman JSP ke
halaman lain pada server lokal. Saat proses berlangsung, barisbaris kode
sesudah forward action pada JSP asal tidak akan diproses lagi oleh JSP
container. Proses berpindah pada halaman tujuan. Cara penulisannya adalah
dengan menggunakan tag <jsp:forward page="localURL" />.
Forward action biasanya digunakan bersama-saman dengan Param action. Perhatikan
contoh berikut. Contoh 14.4. Penggunaan forward action untuk operasi login.
Buat tiga file masing-masing bernama login.html, testlogin.jsp, dan
validlogin.jsp. Isi dari masing-masing file adalah sebagai berikut.
File login.html
<html><head><title>Login
</title></head>
<body>
<FORM ACTION="testlogin.jsp" METHOD="post">Silakan
masukkan nama dan password anda : <BR>Nama :<INPUT
TYPE="text" NAME="nama"><BR> Password :<INPUT
TYPE="text" NAME="pass"><BR><INPUT
TYPE="SUBMIT" VALUE="Login">
</FORM></body></html>
|
File testlogin.jsp
<html><head>
<title>Test Login </title></head><body>
<% String nama = request.getParameter("nama");String pass =
request.getParameter("pass");
if ((nama.equals("aunurrm"))
&&(pass.equals("arm"))) {%><jsp:forward
page='validlogin.jsp' ><jsp:param name='id' value='<%= nama %>'
/></jsp:forward><% }else {%>
<jsp:forward page='login.html' /><% } %>
</body></html>
|
File validlogin.jsp
<html><head>
<title>Login OK</title></head><body>
<H3> Selamat <%=request.getParameter("id") %><BR>
Anda berhasil login<BR></H3>
</body></html>
|
Jalankan halaman login.html maka kalian akan mendapatkan tampilan seperti pada
Gambar 14.20. Isikan sembarang nama dan password kemudian tekan tombol Login.
Kalian tidak akan mendapatkan hasil apa-apa. Nama dan password anda akan
hilang. Demikian berulang-ulang. Sekarang masukkan pada nama 'aunurrm' dan
passwordnya 'arm' (tanpa tanda petik). Tekan tombol Login, maka kalian akan
mendapatkan hasil seperti pada Gambar 14.21.
Gambar 14.20. Hasil eksekusi halaman
login.html
Gambar 14.21. Hasil eksekusi jika
nama dan password benar
Pada contoh di atas file login.html merupakan file untuk menerima input nama
dan password. Pada file ini kita menggunakan fitur form pada HTML. Formulir
dibentuk dengan menggunakan pasangan tag <FORM> dan </FORM>. Dua
atribut utama dari FORM yang sering digunakan adalah ACTION dan METHOD.
ACTION menentukan alamat yang akan dijalankan dan menerima
semua masukan pada FORM. Jika ACTION tidak disebutkan, informasi akan dikirim ke
alamat yang sama dengan halaman FORM itu sendiri.
METHOD digunakan untuk menentukan bagaimana informasi
dikirim ke alamat yang disebutkan dalam ACTION. Nilai yang umum digunakan
adalah GET dan POST. POST membuat informasi akan dikirim secara terpisah dengan
alamat, sedangkan GET akan membuat informasi dikirim menjadi satu dengan alamat
yang dituju.
Contoh di
atas menggunakan action="testlogin.jsp" dan metode penyampaiannya
adalah post. Artinya data pada form akan dikirim ke file dengan nama
testlogin.jsp yang berada satu direktori dengan file login.html.
File kedua yang testlogin.jsp adalah file yang digunakan untuk menangkap input
kemudian memeriksa apakah input tersebut valid atau tidak. Perintah
request.getParameter digunakan untuk menerima input sesuai dengan variabel
input yang ditetapkan. Sebagai contoh request.getParameter('nama') berarti akan
menangkap isi dari variabel nama dari file login.html. Isi dari nama dan pass
ini kemudian di masukkan pada variabel string dengan nama yang sama. Kemudian
dicocokkan apakah nama = 'aunurrm' dan pass='arm'. Jika benar maka action
forward dilakukan yaitu membawa isi yang didefinisikan di action param yaitu
variabel 'id' ke file loginvalid.jsp. Jika tidak maka action forward juga
dilakukan tetapi kembali ke file login.html.
File ketiga
hanya dipanggil jika syarat nama dan pass dipenuhi. File ini juga menggunakan
request.getParameter untuk menangkap variabel 'id'.