Pemrograman dengan JAVA SERVER PAGES (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 :

jsp1

Gambar Pemrosesan Halaman JSP

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.Hijab Tutorial Terbaru

Kelemahan JSP

  1. Proses kompile terhadap halaman JSP mengakibatkan client harus menunggu lebih lama pada saat pertama kali di lakukan loading. Hal ini tentu saja menyebabkan kecepatan proses JSP secara menyeluruh berkurang.Hijab Modern

Listing Program

<%= “Hello World JSP Sederhana”%>

Seperti yang dijelaskan diatas, bahwa halaman JSP akan dilakukan kompile menjadi servlet yang diberikan pada Listing program sebagai berikut :Hijab Muslimah

Listing Program

package LatihJsp;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;public class helloWorld1_2 extends org.apache.jasper.runtime.HttpJspBase {static {

}

public helloWorld1_2( ) {

}

private boolean _jspx_inited = false;

public final synchronized void _jspx_init() throws org.apache.jasper.JasperException {

if (! _jspx_inited) {

_jspx_inited = true;

}

}

public void _jspService(HttpServletRequest request, HttpServletResponse response)

throws java.io.IOException, ServletException {

JspFactory _jspxFactory = null;

PageContext pageContext = null;

HttpSession session = null;

ServletContext application = null;

ServletConfig config = null;

JspWriter out = null;

Object page = this;

String _value = null;

try {

try {

_jspx_init();

_jspxFactory = JspFactory.getDefaultFactory();

response.setContentType(“text/html;charset=ISO-8859-1”);

pageContext = _jspxFactory.getPageContext(this, request, response,

“”, true, 8192, true);

application = pageContext.getServletContext();

config = pageContext.getServletConfig();

session = pageContext.getSession();

out = pageContext.getOut();

// HTML // begin [file=”D:\\jakarta-tomcat-3.3.1\\webapps\\ROOT\\latihJsp\\helloWorld1.jsp”;from=(0,0);to=(9,1)]

out.write(“\r\n\r\n\r\n\r\n\t\r\n\r\n\r\n\t”);

// end

// begin [file=”D:\\jakarta-tomcat-3.3.1\\webapps\\ROOT\\latihJsp\\helloWorld1.jsp”;from=(9,4);to=(9,32)]

out.print( “Hello World JSP Sederhana”);

// end

// HTML // begin [file=”D:\\jakarta-tomcat-3.3.1\\webapps\\ROOT\\latihJsp\\helloWorld1.jsp”;from=(9,34);to=(11,7)]

out.write(“\r\n\r\n”);

// end

} catch (Exception ex) {

if (out != null && out.getBufferSize() != 0)

out.clearBuffer();

if (pageContext != null) pageContext.handlePageException(ex);

} catch (Error error) {

throw error;

} catch (Throwable throwable) {

throw new ServletException(throwable);

}

} finally {

if (out instanceof org.apache.jasper.runtime.JspWriterImpl) {

((org.apache.jasper.runtime.JspWriterImpl)out).flushBuffer();

}

if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);

}

}

}

Jika dijalankan pada browser dengan alamat URL :

http://localhost:8080/LatihJSP/helloWorld.jsp

Maka akan menampilkan tampilan sebagai berikut :

Gambar Tampilan helloWorld.jsp pada Browser

Elemen-elemen JSP

Struktur halaman JSP adalah penambahan program Java dalam tag <% %> pada suatu halaman HTML untuk membangkitkan content yang bersifat dinamik.Trend Krudung dan Hijab Indonesia 2013

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.
  2. Scripting Elements : tag untuk menuliskan program Java.
  3. Action : special tag yang memberikan pengaruh pada halaman JSP pada saat runtime.

Directives

Sintaks :

<%@ namaDirective attribute1=”value1” attribute2 =”value2” %>

Directives terdiri dari tiga bagian, yaitu :

  1. Page Directive
  2. Include Directive
  3. Taglib Directive

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 diberikan pada tabel 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” %>

Include Directive

Untuk menyisipkan isi file lain ke dalam file JSP

Sintaks :

<% include file=”namaFile” %>

Contoh :

<% include file=”myHeader.html” %>

Taglib Directive

Untuk penggunaan tag library atau tag tambahan.

Contoh :

<%@ taglib url=http://Latihan.com/tagKu prefix=”test” />

Scripting Elements

Terdiri dari tiga elemen, yaitu :

  1. Declarations
  2. Scriptlets
  3. Expression

Declarations

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 ; %>

Scriptlets

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”); %>

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);

%>

Hasil Analisa dan Review

<%=oAnalisa%> ————-> Expression

Action

Action merupakan tag yang mempengaruhi perilaku 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. Pada bagian ini hanya dibahas mengenai tag action standar.

Tag action standar JSP adalah sebagai berikut :

Action tag ini berfungsi untuk meng-instantiate suatu Java Object (Java Bean) agar kemudian 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.

Sintaks :

Untuk beanDetail berupa salah satu dibawah ini :

class = “className”

class = “className” type = “typeName”

beanName = “beanName” type = “typeName”

type = “typeName”

Atribut pada action tag dapat dilihat pada tabel sebagai berikut :

Atribut

Deskripsi

Default Nilai

id Nama untuk mengindentifikasi bean yang akan di-instantiate Tidak ada
scope Jangkauan reference terhadap bean. Nilai yang tersedia untuk scope antara lain : page, request, session, application “page”
class Nama class bean yang akan digunakan Tidak ada
beanName Atribut khusus yang terkait dengan method instantiate() pada class java.beans.Beans Tidak ada
Type Menentukan tipe class Nilai dari atribut class

Contoh :

Action tag standar ini digunakan bersama dengan action tag . Action tag ini berfungsi untuk men-set nilai properties yang terdapat pada bean.

Sintaks :

Untuk propertyDetail adalah sebagai berikut :

property = “*”

property = “propertyName”

property = “propertyName” param = “parameterName”

property = “propertyName” value = “propertyValue”

Contoh :

Action tag ini merupakan kebalikan dari action tag , dimana berfungsi untuk mengambil nilai property pada Java Bean.

Sintaks :

Contoh :

Action tag ini berfungsi untuk menset nilai-nilai parameter yang akan digunakan dalam halaman JSP.

Sintaks :

Contoh :

Action tag ini memiliki fungsi yang serupa dengan directive <%@ include file = “fileName” %>. Tetapi memiliki perbedaan mendasar, yaitu waktu eksekusi. Untuk tag dieksekusi pada saat request dan directive include dieksekusi pada saat kompile.

Hasil eksekusi dari keduanya adalah sama dan dapat digunakan untuk melakukan include halaman statis atau dinamis.

Action tag ini sebaiknya digunakan jika halaman yang di-include-kan sering mengalami perubahan secara dinamis, tetapi jika tidak mengalami perubahan sebaiknya digunkan directive include. Hal ini didasarkan pada proses kompile ulang halaman JSP. Pada directive jika halaman JSP yang meng-include halaman JSP lain tidak berubah, sedangkan halaman JSP yang di-include-kan mengalami perubahan, maka kompile ulang belum tentu dilakukan. Tetapi pada action tag kompile ulang pasti akan dilakukan karena proses include dilakukan pada saat melakukan proses terhadap request.

Sintaks :

Contoh :

Action tag ini berfungsi untuk melakukan forward ke suatu halaman lain, baik halaman HTML atau JSP.

Sintaks :

Contoh :

Action tag ini untuk menghasilkan kode-kode yang sesuai target browser dalam menyisipkan komponen Java bean atau applet secara otomatis.

Aris Puji Widodo

Kuliah Umum IlmuKomputer.Com

Copyright ©2003 – 2006 IlmuKomputer.Com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: