Professional Documents
Culture Documents
Nama: Herdianto
Kelas: 3RPL2
Absen: 32
Java Server Pages (JSP)
Pengenalan JSP
Java Server Pages (JSP) merupakan perluasan dari spesifikasi Java Servlet, yang
bertujuan untuk menyederhanakan dalam pengembangan suatu content yang dinamis.
JSP merupakan bagian dari teknologi J2EE,bersama-sama dengan Servet, EJB, JNDI,
XML. JSP dan Servlet bekerja dalam suatu lingkungan web container yang
menyediakan koneksi dan service, sedangkan JSP dan Servlet mengontrolpresentasi
data yang dihasilkan dari suatu proses untuk dikirimkan ke client.
Server yang menangani permintaan JSP seperti sebuah kompiler halaman yang
menggabungkan template HTML dengan kode Java yang dinyatakan pada elemen
JSP.
Sebuah JSP ketika akan dijalankan, web container akan memeriksa status class
servlet terakhir, jika belum Ada atau berstatus lama, maka container akan melakukan
kompilasi terhadap file JSP untuk dihasilkan suatu servlet yang menerapka interface
HttpJspPage berdasar isi dari halaman JSP. Dari Servlet inilah kemudian dijalankan
method _jspService untuk menghasilkan response dengan menggunakan class
HttpServletRequest dan HttpServletResponse.
Untuk dapat menggunakan JSP, terdapat dua package tambahan lain :
● package javax.servlet.jsp
berisi kelas-kelas dan method utama JSP
● package javax.servlet.jsp.tagtest
berisi kelas-kelas dan method untuk custom tag
2
Apache Tomcat Web Server
Seperti halnya skrip-skrip server side yang lain, JSP pun memerlukan Web
Server. Skrip ASP memerlukan IIS sebagai web server, PHP memerlukan IIS atau
Apache sedangkan JSP bisa menggunakan Apache Tomcat sebagai salah satu web
server yang mendukungnya.
Setelah melewati tahapan installasi di atas maka untuk mencoba maka tahapan yang
dilakukan adalah :
Start Tomcat (pada sistem operasi MS Windows, pilih Start | Program |
Apache Tomcat | Start Tomcat).
Buka web browser, kemudian ketikkan URL berikut http://localhost:8080.
Hasilnya bisa dilihat pada gambar berikut.
Konfigurasi
File konfigurasi Apache Tomcat ada 3 yaitu :
server.xml, setting konfigurasi server seperti port atau direktori yang
digunakan.
users.xml atau tomcat-users.zml, menyimpan user dan password pada server.
Selain itu juga menentukan hak akses dari user.
web.xml, setting konfigurasi untuk setiap aplikasi web.
3
Secara default “direktori kerja utama" adalah <TOMCAT-
HOME>/webapps/ROOT. Apabila user ingin mendeklarasikan direktori misalnya
pada D:\Dokumen\Web\JSP sebagai "direktori kerja utama" maka yang perlu
dilakuka adalah memodifikasi file server.xml pada bagian:
menjadi :
<!-- Tomcat Root Context -->
<Context path="" docBase="D:\Dokumen\Web\JSP" debug="0"/>
apabila kita ingin mengakses suatu direktori kerja C:\app\JSP dengan URL sebagai
berikut
http://localhost:8080/jsp/ maka pada server.xml bisa disetting seperti berikut :
Selain dengan cara di atas, untuk melakukan konfigurasi “direktori kerja” dan
URL yang diinginkan bisa digunakan fasilitas yang diberikan oleh Apache Tomcat
4.1 yaitu Manger. Untuk mengaksesnya dapat digunakan URL sebagai berikut:
http://localhost:8080/manager/html.
Maka akan dimunculkan tampilan sebagai berikut :
4
Untuk mengetahui user apa yang bisa mengakses direktori manager dan
password dari user tersebut bisa dilihat daftar user pada file users.xml atau tomcat-
users.xml. Sebagai contoh isi file tersebut adalah:
Pada baris berikut dapat diketahui bahwa user admin dengan password admin
dapat mengakses manager.
<user username="admin" password="admin" roles="admin,manager"/>
Pada halaman di atas bisa dilihat “direktori kerja” yang telah dibuat, serta
fasilitas untuk Stop, Reload dan Remove. Perintah Reload biasanya digunakan untuk
me-refresh Servlet yang baru dimodifikasi, karana untuk melihat perubahan dari
modifikasi sebuah Servlet tidak bisa dilakukan dengan cara me-refresh web browser.
5
JSP merupakan bahasa pemrograman web dimana penulisannya menggunakan
tag-tag yang memiliki aturan penulisan sama dengan XML. Penulisan program JSP
menggunakan tag-tag yang disebut skriplet.
Saat pertama kali file JSP dipanggil maka JSP akan dikompilasi menjadi
Servlet yang kemudian disimpan di memori server sehingga proses pada pemanggilan
berikutnya dapat berlangsung lebih cepat.
Objek Implisit
Setiap halaman JSP berisi variabel penunjuk ke objek servlet yang disebut objek
implisit yang sudah terdefinisikan dan siap digunakan. Variabel ini memiliki ruang
lingkup :
Lingkup Keterangan
Application - Dimiliki oleh container JSP
- dapat dimanipulasi oleh sembarang Servlet
atau aplikasi
Page - Ada pada halaman yang mendefinisikan
- Instance individu untuk tiap halaman
Request - ada selama waktu Request
Session - ada untuk selama session client
6
menunjuk ke halamannya
sendiri
pageContext javax.servlet.jsp.PageContext Berisi atribut halaman
Request
request javax.servlet.ServletRequest Wakil dari Request user
Session
session javax.servlet.http.HttpSession Berisi variabel yang
disertakan pada session user
Directive
Mendefinisikan atribut yang digunakan oleh seluruh halaman JSP.
Contohpemakaiannya :
<%@ page language=”java” import=”java.util.*, java.io.*” %>
7
info Mendefinisikan suatu String yang dapat dipanggil dengan
method getServletInfo()
errorPage Mendefinisikan URL yang akan dikirimi sembarang objek
Exception atau Error
isErrorPage Jika 'true', page aktif adalah error page juga
contentType Mendefinisikan nilai tipe header MIME
Tag-tag kompatibel dengan XML
Tag-tag asli JSP dapat dituliskan dengan bentuk elemen XML, yang
menggunakan namespace “jsp:” untuk tiap elemennya.
Terdapat perbedaan jika Anda menggunakan <%@ include file=”url” %> dengan
<jsp:include page=”url” />, antara lain :
untuk tag <%@ include file=”url” %> :
● file dibaca dan disisipkan pada halaman JSP sebelum halamanditerjemahkan
● file dapat berisi JSP
untuk tag <jsp:include page=”url” /> :
● hasil dari url di sisipkan ke dalam halaman JSP pada saat request
● file yang diinclude tidak dapat berisi JSP
8
SERVLET
Definisi Servlet
Servlet merupakan class yang didefinisikan dalam java dan digunakan untuk meningkatkan
kemampuan web server dalam menangani request dan response client. Servlet dapat menerima request
dan menghasilkan response melalui protokol komunikasi yang berbeda, tetapi sebagian besar tipe yang
digunakan adalah HTTP Servlet, yang diimplementasikan dengan class java javax.servlet.httpServlet.
Class HttpServlet akan melakukan override method service untuk membedakan antara request
yang diterima web browser client. 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. Sedangkan request POST
9
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.
Beberapa method yang berasal dari ServletRequest adalah sebagai berikut :
Method Keterangan
String getParameter(String name)
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.
Beberapa method yang berasal dari ServletResponse adalah sebagai berikut :
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.
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
10
PrintWriter output;
Sedangkan file HTML yang mendemonstrasikan servlet untuk menangani Request HTTP GET adalah
sebagai berikut :
Jika HTTPGetServlet.html dijalankan pada browser, maka akan terlihat tampilan pada browser seperti
Dilakukan dengan memasukan alamat URL pada browser sebagai berikut :
http://localhost:8080/server2/HTTPGetServlet.html
11
Tampilan HTTPGetServlet.html pada Browser
Jika button Submit ditekan, maka servlet akan mengembalikan HTML seperti yang terlihat pada
browser sebagai berikut :
Contoh ini mendeskripsikan survey berbasis web untuk mengetahui minat kebutuhan terhadap suatu
jenis bahasa pemrograman.
12
Listing Program 1.3.
// Nama file : HTTPPostServlet.java
// Diskripsi : Hasil survey menggunakan servlet request HTTP POST
import javax.servlet.*;
import javax.servlet.http.*;
import java.text.*;
import java.io.*;
import java.util.*;
if ( f.exists() ) {
// menentukan responden hasil survey
try {
ObjectInputStream input = new ObjectInputStream(
new FileInputStream( f ) );
13
new FileOutputStream( f ) );
output.writeObject( bahasa );
output.flush();
output.close();
// menghitung persentase
double percentages[] = new double[ bahasa.length ];
responseOutput.println( buf.toString() );
responseOutput.close();
}
}
Sedangkan file HTML yang mendemonstrasikan servlet untuk menangani Request HTTP POST adalah
sebagai berikut :
14
Listing Program 1.4.
<!—Nama file : HTTPPostServlet.html -->
<!-- Diskripsi : Mendemonstrasikan servlet untuk menangani Request HTTP GET -->
<HTML>
<HEAD>
<TITLE> Contoh Servlet : Request HTTP POST </TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION=
"http://localhost:8080/SERVER2/servlet/HTTPPostServlet">
Bahasa Pemrograman yang paling banyak dibutuhkan<BR><BR>
<INPUT TYPE=radio NAME=jBahasa VALUE=Fortran>Fortran<BR>
<INPUT TYPE=radio NAME=jBahasa VALUE=Pascal>Pascal<BR>
<INPUT TYPE=radio NAME=jBahasa VALUE=C>C<BR>
<INPUT TYPE=radio NAME=jBahasa VALUE=Java>Java<BR>
<INPUT TYPE=radio NAME=jBahasa VALUE=TidakAda CHECKED>TidakAda
<BR><BR><INPUT TYPE=submit VALUE="Submit">
<INPUT TYPE=reset>
</FORM>
</BODY>
</HTML>
Jika HTTPPostServlet.html dijalankan pada browser, maka akan terlihat tampilan pada browser seperti
pada gambar 1.3 :
15
Servlet yang Menangani Request HTTP Post
16