By : Desi Rima Melany-12141365
JSP (JAVA SERVER PAGES)
Pengertian JSP (Java Server Pages)
JSP
(Java Server Pages) 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. Berbeda dengan Servlet yang harus
dikompilasi oleh user menjadi class sebelum dijalankan, JSP tidak perlu
dikompilasi oleh user tapi server yang melakukan tugas tersebut. Teknologi JSP
menyediakan cara yang lebih mudah dan cepat dalam membuat halaman-halaman web
yang menampilkan isi secara dinamik dan bekerja dengan berbagai macam web
server, application server, browser dan development tool.
JSP
memungkinkan untuk menggabungkan static HTML dengan dynamic content yang
dihasilkan dari Servlet. JSP juga merupakan bagian dari teknologi J2EE (Java 2
Enterprise Edition). J2EE merupakan platform Java untuk pengembangan aplikasi
enterprise dengan dukungan API (Application Program Interface) yang lengkap dan
portabilitas serta memberikan sarana untuk membuat aplikasi multi tier yang
memisahkan antara Presentation layer, Application layer dan Data Layer.
JSP
pada dasarnya juga halaman HTML dengan tambahan tag-tag JSP yang berupa Java
Code. File JSP mempunyai extension .JSP bukan .htm atau html. JSP engine (Java
virtual mechine) melakukan proses parsing pada file .JSP selanjutnya
men-generate Java servlet source file. Kemudian mengkompilasi source file ini
menjadi class file, hal ini dilakukan pada saat pertama kali file .JSP
dijalankan. Hal ini yang membuat lebih lambat ketika .JSP file pertama kali
diakses, selanjutnya setelah servlet source file terkompile semuanya berjalan
lebih cepat.
Kelebihan JSP
1. JSP
dapat berjalan pada sembarang platform.
2. JSP
cenderung memiliki performansi yang lebih baik, karena JSP dilakukan kompile
terlebih dahulu menjadi servlet yang berupa bytecode.
3. Didukung
bahasa Java yang memilki kemampuan OOP dan tingkat reuseability tinggi.
4. Dapat
menggunakan JavaBean untuk mengenkapsulasi kode-kode java.
Elemen-Elemen JSP
Struktur
halaman JSP adalah penambahan program Java dalam tag <% %> pada suatu
halaman HTML untuk membangkitkan content yang bersifat dinamik.
JSP
memiliki tiga komponen utama, yaitu :
1. Directives
: merupakan suatu petunjuk bagi web container tentang sesuatu yang harus
dilakukan pada saat container melakukan compile halaman JSP.
Sintaks
: <%@ namaDirective attribute1=”value1” attribute2 =”value2” %>
Directives
terdiri dari tiga bagian, yaitu :
a. Page
Directive
Untuk menentukan dan
memanipulasi atribut-atribut pada halaman JSP serta memberikan informasi ke
container untuk atribut-atribut yang memerlukan proses tertentu. Sintaks : <%@
page ATTRIBUTE %>
Attribute yang digunakan pada Page
Directive adalah sebagai berikut :
Attribute
|
Keterangan
|
Default
Nilai
|
Language
|
Menentukan
bahasa pemrograman yang digunakan
|
“Java”
|
Extends
|
Digunakan
untuk men-generate superclass
|
Tidak
ada
|
Import
|
Mengimport
package atau class java, seperti halnya pada program Java
|
Tidak
ada
|
Session
|
Menentukan
apakah halaman JSP menggunakan HTTP session
|
“true”
|
Buffer
|
Menentukan
model buffering untuk output stream ke client
|
|
autoFlush
|
Melakukan
reset isi buffer jika sudah penuh
|
“true”
|
isThreadSafe
|
Mendefinisikan
tingkat keamanan mengenai masalah threading halaman JSP. Jika “false” request
akan diproses sebagai single Thread, berurutan sesuai urutan kedatangan
request
|
“true”
|
Info
|
Mendefinisikan
string informasi yang dapat diperoleh dari implementasi metode
Servlet.getServletInfo()
|
Tidak
ada
|
errorPage
|
Menentukan
error page, sehingga jika terjadi error, maka halaman JSP ini akan
ditampilkan
|
Tidak
ada
|
isErrorPage
|
Memberikan
indikasi apakah halaman JSP merupakan halaman error dari halaman JSP yang
lain
|
“false”
|
contentType
|
Menentukan
encoding karakter pada JSP dan tipe MIME untuk respons yang dihasilkan JSP.
|
MIME-TYPE
text / html CHARSET ISO-8859-1
|
Contoh : <%@ page
language=”Java” import="java.sql.*“ session=”true” buffer=”12kb”
autoFlush=”true” errorPage=”myError.JSP” %>
b. Include
Directive
Untuk menyisipkan isi
file lain ke dalam file JSP.
Sintaks : <% include
file=”namaFile” %>
Contoh : <% include
file=”myHeader.html” %>
c. Taglib
Directive
Untuk penggunaan tag
library atau tag tambahan.
Contoh : <%@ taglib
url=http://Latihan.com/tagKu prefix=”test” /> …
2. Scripting
Elements : tag untuk menuliskan program Java.
Terdiri
dari tiga elemen, yaitu :
a. Declarations
Merupakan blok program
Java yang digunakan untuk mendeklarasikan variable dan method yang akan digunakan
dalam program. Variable yang dideklarasikan pada bagian ini akan berperan
sebagai variable global pada servlet hasil kompile.
Sintaks : <%!
Deklarasi variable dan method %>
Contoh : <%! int i =
10 ; double x = 5.0 ; %>
b. Scriptlets
Merupakan blok program
Java yang dieksekusi pada saat pemrosesan request. Scriptlets akan dijalankan
sesuai dengan instruksi program yang diberikan.
Sintaks : <% Sintaks
Program Java %>
Contoh : <%
System.out.println(“Test Scriptlets”); %>
c. Expression
Expression merupakan
cara untuk memperpendek penulisan scriptlets dan akan mengembalikan nilai
String yang dikirim melalui output stream.
Sintaks : <%=
Ekspresi Java %>
Contoh : <% String
oAnalisa=oAnalisaReview.getAnalisa(oIDK); %>
3. Action
: special tag yang memberikan pengaruh pada halaman JSP pada saat runtime.
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. Tag action standar JSP adalah sebagai berikut :
a. <JSP:useBean>
b. <JSP:setProperty>
c. <JSP:getProperty>
d. <JSP:param>
e. <JSP:include>
f. <JSP:forward>
g. <JSP:plugin>
Action
tag ini berfungsi untuk meng-instantiate suatu Java Object (Java Bean) agar
dapat digunakan pada halaman JSP. Penggunaan bean ini merupakan salah satu cara
untuk memisahkan antara logic dan presentation pada JSP. Logic yang digunakan
pada JSP dapat diletakkan pada suatu bean, dan bean ini dapat digunakan untuk
halaman JSP yang lain.
Arsitektur JSP
Pemakai
yang ingin mengakses halaman Web mula-mula mengirimkan permintaan halaman Web
melalui protokol HTTP (HyperText Transfer Protocol) dalam bentuk JSP
(berekstensi .JSP). Permintaan ini akan disampaikan ke Web server. Kemudian Web
server mengambil dokumen JSP dan mengirimkan ke JSP Servlet Engine.
Gambar Arsitektur JSP
Bagian
inilah yang melakukan pemrosesan kode-kode JSP (termasuk di dalamnya melakukan
pengompilasian) dan membentuk kode HTML. Berikutnya, kode HTML ini disampaikan
oleh Web server ke klien yang memintanya. Kode HTML ini selanjutnya diproses
oleh browser sehingga pemakai bisa memperoleh informasi dari halaman Web yang
dikehendakinya.
Detail
pemrosesan oleh JSP Servlet engine adalah sebagai berikut:
1. Melakukan
pemilahan (parsing) kode JSP,
2. Membangkitkan
kode sumber Servlet,
3. Mengkompilasi
kode sumber Servlet menjadi sebuah kelas,
4. Membuat
instan servlet,
5. Memberikan
keluaran servlet ke Web server
Cara Kerja JSP
JSP
bertujuan untuk menyederhanakan pembuatan dan manajemen halaman web yang
bersifat dinamis, dengan cara memisahkan content dan presentasi. JSP merupakan
halaman yang menggabungkan HTML dengan scripting tag dan program java. Pada
saat JSP dipanggil client melalui browser, JSP tersebut akan di kompile
terlebih dahulu menjadi servlet, dan kemudian hasilnya dikembalikan ke client.
Sebagai ilustrasi diberikan pada gambar sebagai berikut :
Gambar Pemrosesan Halaman JSP
========================================================================
PERBEDAAN ANTARA JSP DAN SERVLET
========================================================================
PERBEDAAN ANTARA JSP DAN SERVLET
Servlet
itu berfungsi untuk memperluas fungsionalitas sebuah server (server web, server
aplikasi, server HTTP). Servlet adalah program Java yang diintegrasikan di
dalam Web-server untuk melakukan fungsi-fungsi server-side. Fungsi server-side
ini dijalankan untuk menanggapi permintaan dari client (berupa web-browser).
JSP
merupakan perluasan dari servlet dan memiliki beberapa keunggulan. Yang pertama
adalah bahwa kode yang ditulis untuk JSP relatif lebih ringkas. Yang kedua
proses deployment lebih mudah. Sebuah file JSP dapat diperlakukan sama seperti
file HTML ketika dilakukan deployment. Tujuan dari JSP adalah untuk lebih
menyederhanakan penulisan servlet. JSP sendiri pada akhirnya sebelum dijalankan
oleh server, akan dikompilasi terlebih dahulu menjadi servlet, meskipun proses
ini tidak akan terlihat.
Perbedaan
yang paling besar antara JSP dan Servlet adalah Servlet merupakan merupakan
HTML di dalam Java, sedangkan JSP merupakan Java di dalam HTML sehingga
memudahkan dalam pembuatan desain tampilan suatu website.
Gambar JSP dan Servlet Dalam Konsep
MVC
Jika diterapkan dalam
konsep MVC (Model View Controller), yaitu model perancangan aplikasi yang
memisahkan antara tampilan (View), Database (Model) dan Logika (Controller),
maka JSP itu bertindak sebagai tampilan (View), sedangkan Servlet bertindak
sebagai pengatur logic (Controller), dan yang bertindak sebagai representasi
database (Model) nya adalah Bean.
Tidak ada komentar:
Posting Komentar