Anda di halaman 1dari 55

JSP

(Java Server Pages)

Muhamad Alif, S.Kom

Servlet?????(Java???)
Sebelum menginjak ke JSP, kita harus tahu
terlebih dahulu dinamic code dari java untuk
pengembangan web application.
Servlet???
Servlet=class yang didefinisikan dalam java
dan
digunakan
untuk
meningkatkan
kemampuan web server dalam menangani
request dan response client

Servlet (1)
Servlet dapat menerima request dan
menghasilkan response melalui protokol
komunikasi yang berbeda, tetapi sebagian
besar tipe yang digunakan adalah HTTP
Java memiliki dua paket yang menyediakan
interface dan class untuk servlet, yaitu
javax.servlet dan javax.servlet.http

Ambil dan Kirim Data


Dua tipe request yang paling umum digunakan adalah GET
dan POST, yang sering disebut sebagai request method.
Request GET digunakan untuk mendapatkan atau
menerima informasi dari server yang berupa file HTML atau
image.
Request POST digunakan untuk mengirimkan data ke
server dalam bentuk HTML yang berisi data yang
dimasukan oleh client.
Method yang sering digunakan untuk memberikan respon
terhadap request client adalah doGet dan doPost yang
memiliki dua parameter, yaitu HttpServletRequest dan
HttpServletResponse

Method ServletRequest
Method
String getParameter(String name)

Keterangan

Dikirim ke servlet sebagai bagian request GET atau POST.

Enumeration getParameterNames()
Mengembalikan nama seluruh parameter yang dikirim ke servlet sebagai bagian dari
request POST.
String[] getParameterValues(String name)
Mengembalikan array of string yang berisi nilai untuk parameter servlet
Cookie[] getCookies()
Mengembalikan array of cookie, merupakan objek client yang disimpan di server.
Cookies dapat digunakan untuk mengidentifikasikan secara unik setiap client oleh server.
HttpSession getSession(Boolean create)
Mengembalikan objek HttpSession yang sedang berlasung pada client. Parameter
akan bernilai jika tidak terdapat objek Httpsession di client. Secara fungsionalitas
memilki kegunaan yang sama dengan Cookies.

Method ServletResponse
Method

Keterangan

void addCookie(Cookie cookie)


Digunakan untuk menambahkan cookie pada header sebagai respons ke client.
ServletOutputStream getOutputStream()
Mendapatkan output stream berbasis byte yang memungkinkan data teks dikirim
ke client.
PrintWriter getWriter()
Mendapatkan output stream berbasis karakter yang memungkinkan data binary
dikirim ke client.
Void setContentType(String type)
Menspesifikasikan type MIME respons ke browser.

JSP?????
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
(Client Code) dan fungsi-fungsi dari JSP itu
sendiri.

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

Ilustrasi JSP
Bean

Uses

Bean

Uses

<HTML>
<BODY>
Beberapa Contents Static
<% Beberapa kode Java %>
<%jsp:BeberapaTagJsp%>
</BODY>
</HTML>

Diterjemahkan

Servlet

Kelebihan JSP
JSP dapat berjalan pada sembarang platform.
JSP cenderung memiliki performansi yang lebih
baik, karena JSP dilakukan kompile terlebih
dahulu menjadi servlet yang berupa bytecode.
Didukung bahasa Java yang memilki kemampuan
OOP dan tingkat reuseability tinggi.
Dapat
menggunakan
JavaBean
untuk
mengenkapsulasi kode-kode java.

Kelemahan JSP
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.

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

1. Directives
Sintaks :
<%@ namaDirective attribute1=value1
attribute2 =value2 %>
Directives terdiri dari tiga bagian, yaitu :
a. Page Directive
b. Include Directive
c. Taglib Directive

a. Page Directive
Untuk menentukan dan memanipulasi atributatribut pada halaman JSP serta memberikan
informasi ke container untuk atribut-atribut
yang memerlukan proses tertentu.
Sintaks :
<%@ page ATTRIBUTE %>
Contoh :

a. Page Directive
Attribute
Language
Extends
Import
Session
Buffer
autoFlush
isThreadSafe

Info

errorPage

isErrorPage

contentType

Keterangan
Menentukan bahasa pemrograman yang
digunakan
Digunakan untuk men-generate superclass
Mengimport package atau class java,
seperti halnya pada program Java
Menentukan apakah halaman JSP
menggunakan HTTP session
Menentukan model buffering untuk
output stream ke client
Melakukan reset isi buffer jika sudah
penuh
Mendefinisikan
tingkat
keamanan
mengenai masalah threading halaman JSP.
Jika false request akan diproses sebagai
single Thread, berurutan sesuai urutan
kedatangan request
Mendefinisikan string informasi yang
dapat diperoleh dari implementasi metode
Servlet.getServletInfo()
Menentukan error page, sehingga jika
terjadi error, maka halaman JSP ini akan
ditampilkan
Memberikan indikasi apakah halaman JSP
merupakan halaman error dari halaman
JSP yang lain
Menentukan encoding karakter pada JSP
dan tipe MIME untuk respons yang
dihasilkan JSP.

Default Nilai
Java
Tidak ada
Tidak ada
true

true
true

Tidak ada

Tidak ada
false

MIME-TYPE
text
/
html
CHARSET
ISO-8859-1

a. Page Directive
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/tagKuprefix=test />
<test:proses>

</test:proses>

2. Scripting Elements
Terdiri dari tiga elemen, yaitu :
a) Declarations
b) Scriptlets
c) Expression

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

b. 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); %>

c. Expression
Expression merupakan cara untuk
memperpendek penulisan scriptlets dan akan
mengembalikan nilai String yang dikirim
melalui output stream.
Sintaks :
<%= Ekspresi Java %>

Expression
Contoh :
<%
String oAnalisa=oAnalisaReview.getAnalisa(oIDK);
%>
<br>
<fieldset style="padding: 2">
<legend><b>Hasil Analisa dan Review</b></legend>
<%=oAnalisa%> -------------> Expression
</fieldset>

3. Action

Action merupakan tag yang mempengaruhi


perilaku halaman JSP pada saat runtime. JSP
mengenal tag action standar dan custom tag
Tag action standar JSP adalah sebagai berikut :
1.
2.
3.
4.
5.
6.

<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
<jsp:param>
<jsp:include>
<jsp:forward>

<jsp:useBean>
Action tag ini berfungsi untuk menginstantiate 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
Sintaks :
<jsp:useBean id=name scope=scopeName
beanDetail />

Atribut pada <jsp:useBean>


Atribut
id

Deskripsi
Default Nilai
Nama untuk mengindentifikasi bean yang akan di- Tidak ada
instantiate

scope

Jangkauan reference terhadap bean. Nilai yang tersedia page


untuk scope antara lain : page, request, session,
application

class
beanName

Nama class bean yang akan digunakan


Tidak ada
Atribut
khusus
yang
terkait
dengan
method Tidak ada
instantiate() pada class java.beans.Beans

Type

Menentukan tipe class

Nilai dari atribut


class

Contoh :
<jsp:useBean id="oPenilaian" scope="session" class="Cbhrm.Penilaian"/>

<jsp:setProperty>
Action tag standar ini digunakan bersama
dengan action tag <jsp:useBean>. Action tag
ini berfungsi untuk men-set nilai properties
yang terdapat pada bean.
Sintaks :
<jsp:setProperty name = beanName
propertyDetail />
Contoh :
<jsp:setProperty name="oPenilaian"
property="tglMul" param="tglMul"/>

<jsp:getProperty>
Action tag ini merupakan kebalikan dari action
tag <jsp:setProperty>, dimana berfungsi untuk
mengambil nilai property pada Java Bean.
Sintaks :
<jsp:getProperty name = beanName
property = propertyName />
Contoh :
<jsp:setProperty
name="oPenilaian"
property="tglMul" />

<jsp:param>
Action tag ini berfungsi untuk menset nilai-nilai
parameter yang akan digunakan dalam halaman
JSP.
Sintaks :
<jsp:param name = parameterName value =
parametervalue />
Contoh :
<jsp:param name = warna value = merah />

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

<jsp:include>
Sintaks :
<jsp:include page = fileName flush =
true/false />
Contoh :
<jsp:include page = myDynamic.jsp flush =
true />

<jsp:forward>
Action tag ini berfungsi untuk melakukan
forward ke suatu halaman lain, baik halaman
HTML atau JSP.
Sintaks :
<jsp:forward page = alamatURL />
Contoh :
<jsp:forward page = alamatURL.jsp />

Form
Form adalah salah satu tag HTML yang
digunakan
untuk
mengirimkan
suatu
parameter dari satu halaman ke halaman
lainnya
Sebenarnya ada beberapa cara yang dapat
digunakan untuk mengirimkan suatu nilai
(parameter) dari satu halaman ke halaman
lainnya, misalkan
Form, URL parameter, cookie, session

Transfer Parameter dengan Form


Halaman.html

entry.jsp

Suatu Form Login


String User = request.getParameter(User);
String Pwd = request.getParameter(Pwd);

<FORM ACTION=entry.jsp METHOD=POST>


User Name :
<INPUT TYPE=TEXT NAME=User><BR>
Password :
<INPUT TYPE=PASSWORD NAME=Pwd>
<INPUT TYPE=SUBMIT VALUE=LOGIN>
</FORM>

Transfer Parameter dengan URL


Parameter

Transfer Parameter dengan Cookie


Komputer Client

Halaman.html

entry.jsp

Cookie

Transfer Parameter dengan Session


Komputer Server

Halaman.jsp

entry.jsp

Session

Membaca Parameter
Menggunakan Obyek request dengan Metode
getParameter()
Contoh
Pada file entry.jsp
<%
String User = request.getParameter(User);
String Pwd = request.getParameter(Pwd);
String Nama = request.getParameter(Nama);
String Tgl = request.getParameter(Tgl);
%>

HTTP Transfer Parameters


Mengambil/membaca nilai parameter yang
ditransfer melalui protokol HTTP
String request.getParameter(parameter)

Contoh

Menangani Client Code Dengan


Server Code/JSP
Response

Client

Response

JSP engine dan


Web server

Response

Request
File JSP

Component

Request

Request

<html>
<head>
<title>Alif file : Form.jsp</title>
</head>
<body>
<p><fontsize="3"><b>Menampilkan nilai variabel yang dimasukan melalui Form</b></font></p>
<form method="post" action=AyoAmbilForm.jsp">
<table width="646">
<tr>
Form.jsp
<td width="87">Nama</td>
<td colspan="3"> <input type="text" name="nama"></td>
</tr>
<tr>
<td>Proyek</td>
<td colspan="3"><input type="text" name=proyek"></td>
</tr>
</table>
<p><input type="submit" value="Submit">
<input type="reset" value="Reset"></p>
</form>
AyoAmbilForm.jsp
</body>
</html>

<html>
<head>
<title>Alif file : AyoAmbilForm.jsp</title>
</head>
<body>
<p><font size="3"><b>Menampilkan Data Yang Anda Masukan
Melalui Form</b></font></p>
<%
String nama = request.getParameter("nama");
String proyek= request.getParameter(proyek");
%><form method="post" action="Form.jsp"><%
if(nama != null&& nama.length()>0){
%>
<table width="386">
<tr>
<td width="108">Nama</td>
</tr>
<tr>
<td>Proyek</td>
</tr>
</table>
<%
}
else { %>
<b>Nama Belum Anda Masukan</b>
<%
}
%>
<p>&nbsp;</p>
<p><input type="submit" value="Back">
</p>
</form>
</body>
</html>

AyoAmbilForm.jsp

JSP???Database???Wowwww
JSP sebagai teknologi untuk pembuatan
aplikasi web memiliki kemampuan menangani
database dengan menggunakan class dan
interface Java Database Connectivity ( JDBC )
sebagai driver antara program JSP dan
database server

JDBC
JDBC adalah Application Programming
Interface (API) yang dikembangkan oleh Sun
Microsystem untuk menyediakan akses data
universal dalam bahasa pemrograman Java.
JDBC menyediakan mekanisme untuk koneksi
database, query database, dan traksaksi
database.
JDBC tidak melakukan standarisasi SQL, tetapi
dapat mendukung sintaks SQL untuk masingmasing vendor database

Diagram JDBC

Program
Java / JSP

JDBC

Driver

SQL Server

Driver

My SQL

Driver

Oracle

JDBC bukan database server, tetapi


merupakan penyedia mekanisme untuk
berkomunikasi antara aplikasi Java dan
database server

Contoh Akses Database dengan JSP

Tampilan Output (Running)

Struktur Tabel Dalam Database

<%@page import=java.sql.* %>


<html>
<head>
<title>List Data Pegawai</title>
</head>
<body>
<%!
Connection koneksi;
String nama_db;
String user_mysql;
String pass_mysql;
Statement stm;
ResultSet rst;
int no;
%>
<%
try{
Class.forName(com.mysql.jdbc.Driver);
nama_db=jdbc:mysql://localhost:3306/hrd;
user_mysql=alif;
pass_mysql=rise;
koneksi = DriverManager.getConnection(nama_db, user_mysql, pass_mysql);
}catch(Exception e){
out.print(Gagal koneksi ke database+e);
}
stm=koneksi.createStatement();
rst=stm.executeQuery(SELECT * FROM pegawai);
out.print(<table border=1><tr><th>No</th><th>Nama Pegawai</th>);
out.print(<th>Jenis Kelamin</th><th>Alamat</th><th>Kota</th><th colspan=2></th></tr>);
no=1;
while(rst.next()){
out.print(<tr>);
out.print(<td>+no+</td><td>+rst.getString(emp_name)+</td>);
out.print(<td>+rst.getString(emp_sex)+</td>);
out.print(<td>+rst.getString(emp_address)+</td>);
out.print(<td>+rst.getString(emp_city)+</td>);
out.print(<td><a href=edit_pegawai.jsp/+rst.getString(emp_no)+ >Edit</a> </td>);
out.print(<td><a href=hapus_pegawai.jsp/+rst.getString(emp_no)+ >Hapus</a> </td>);
out.print(</tr>);
no++;
}
out.print(</table>);
%>
</body>

Terima Kasih
Semoga Bermanfaat

Bahan Ajar UAS

Materi sebelum UTS


Soal UTS
Materi setelah UTS
Pelajari cara buat code untuk melakukan edit
dan delete pada slide Contoh Akses Database
dengan JSP

Aturan UAS
Open Book
Waktu 60 menit
Dalam bentuk TULIS (Berbasis pengetahuan
tentang pemrograman web +Live Coding)
Pelaksanaan :
Jumat,21 Desember 2012
Pukul 13.30 (harus tepat waktu)-14.30
Tempat : di ruang kuliah biasanya

Anda mungkin juga menyukai