JSP (Java Server Pages) - … · Servlet?????(Java???) • Sebelum menginjak ke JSP, kita harus...
-
Upload
truongtram -
Category
Documents
-
view
333 -
download
0
Transcript of JSP (Java Server Pages) - … · Servlet?????(Java???) • Sebelum menginjak ke JSP, kita harus...
Servlet?????(Java???)
• Sebelum menginjak ke JSP, kita harus tahuterlebih dahulu dinamic code dari java untukpengembangan web application.
• Servlet???
• Servlet=class yang didefinisikan dalam javadan digunakan untuk meningkatkankemampuan web server dalam menanganirequest dan response client
Servlet (1)
• Servlet dapat menerima request danmenghasilkan response melalui protokolkomunikasi yang berbeda, tetapi sebagianbesar tipe yang digunakan adalah HTTP
• Java memiliki dua paket yang menyediakaninterface dan class untuk servlet, yaitujavax.servlet dan javax.servlet.http
Ambil dan Kirim Data
• Dua tipe request yang paling umum digunakan adalah GETdan POST, yang sering disebut sebagai request method.
• Request GET digunakan untuk mendapatkan ataumenerima informasi dari server yang berupa file HTML atauimage.
• Request POST digunakan untuk mengirimkan data keserver dalam bentuk HTML yang berisi data yangdimasukan oleh client.
• Method yang sering digunakan untuk memberikan responterhadap request client adalah doGet dan doPost yangmemiliki dua parameter, yaitu HttpServletRequest danHttpServletResponse
Method ServletRequestMethod 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 darirequest 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 bahasascripting untuk web programming yangbersifat server side seperti halnya PHP danASP.
• JSP dapat berupa gabungan antara baris HTML(Client Code) dan fungsi-fungsi dari JSP itusendiri.
JSP?????
• JSP bertujuan untuk menyederhanakanpembuatan dan manajemen halaman web yangbersifat dinamis, dengan cara memisahkancontent dan presentasi
• JSP merupakan halaman yang menggabungkanHTML dengan scripting tag dan program java
• Pada saat JSP dipanggil client melalui browser,JSP tersebut akan di kompile terlebih dahulumenjadi servlet, dan kemudian hasilnyadikembalikan ke client
Ilustrasi JSP
Bean Bean
<HTML>
<BODY>
Beberapa Contents Static
<% Beberapa kode Java %>
<%jsp:BeberapaTagJsp%>
</BODY>
</HTML>
Diterjemahkan Servlet
UsesUses
Kelebihan JSP
• JSP dapat berjalan pada sembarang platform.
• JSP cenderung memiliki performansi yang lebihbaik, karena JSP dilakukan kompile terlebihdahulu menjadi servlet yang berupa bytecode.
• Didukung bahasa Java yang memilki kemampuanOOP dan tingkat reuseability tinggi.
• Dapat menggunakan JavaBean untukmengenkapsulasi kode-kode java.
Kelemahan JSP
• Proses kompile terhadap halaman JSPmengakibatkan client harus menunggu lebihlama pada saat pertama kali di lakukanloading. Hal ini tentu saja menyebabkankecepatan proses JSP secara menyeluruhberkurang.
Elemen-elemen JSP• Struktur halaman JSP adalah penambahan program
Java dalam tag <% %> pada suatu halaman HTMLuntuk membangkitkan content yang bersifatdinamik.
• JSP memiliki tiga komponen utama, yaitu :1. Directives : merupakan suatu petunjuk bagi web
container tentang sesuatu yang harus dilakukanpada saat container melakukan compile halamanJSP.
2. Scripting Elements : tag untuk menuliskanprogram Java.
3. Action : special tag yang memberikan pengaruhpada 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 atribut-atribut pada halaman JSP serta memberikan informasi ke container untuk atribut-atribut yang memerlukan proses tertentu.
• Sintaks :
<%@ page ATTRIBUTE %>
Contoh :
a. Page DirectiveAttribute Keterangan Default Nilai
Language Menentukan bahasa pemrograman yang
digunakan
“Java”
Extends Digunakan untuk men-generate superclass Tidak adaImport 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 clientautoFlush 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 metodeServlet.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 JSPdan tipe MIME untuk respons yang
dihasilkan JSP.
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 Javayang digunakan untuk mendeklarasikanvariable dan method yang akan digunakandalam program. Variable yang dideklarasikanpada bagian ini akan berperan sebagaivariable 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. <jsp:useBean>
2. <jsp:setProperty>
3. <jsp:getProperty>
4. <jsp:param>
5. <jsp:include>
6. <jsp:forward>
<jsp:useBean>
• Action tag ini berfungsi untuk meng-instantiate suatu Java Object (Java Bean) agarkemudian dapat digunakan pada halaman JSP.Penggunaan bean ini merupakan salah satucara untuk memisahkan antara logic danpresentation pada JSP
• Sintaks :
<jsp:useBean id=”name” scope=”scopeName” beanDetail />
Atribut pada <jsp:useBean>
Atribut Deskripsi Default Nilai
id Nama untuk mengindentifikasi bean yang akan di-
instantiate
Tidak ada
scope Jangkauan reference terhadap bean. Nilai yang tersediauntuk scope antara lain : page, request, session,
application
“page”
class Nama class bean yang akan digunakan Tidak ada
beanName Atribut khusus yang terkait dengan methodinstantiate() pada class java.beans.Beans
Tidak ada
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 bersamadengan action tag <jsp:useBean>. Action tagini berfungsi untuk men-set nilai propertiesyang 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 actiontag <jsp:setProperty>, dimana berfungsi untukmengambil 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-nilaiparameter yang akan digunakan dalam halamanJSP.
• Sintaks :
<jsp:param name = “parameterName” value =“parametervalue” />
• Contoh :
<jsp:param name = “warna” value = “merah” />
<jsp:include>
• Action tag ini memiliki fungsi yang serupadengan directive <%@ include file =“fileName” %>. Tetapi memiliki perbedaanmendasar, yaitu waktu eksekusi.
• Untuk tag <jsp:incluce> dieksekusi pada saatrequest dan directive include dieksekusi padasaat 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 yangdigunakan untuk mengirimkan suatuparameter dari satu halaman ke halamanlainnya
– Sebenarnya ada beberapa cara yang dapatdigunakan untuk mengirimkan suatu nilai(parameter) dari satu halaman ke halamanlainnya, 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>
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
Client
JSP engine dan
Web server
File JSP
Component
Request
Response
Request
Request
Response
Response
<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>
<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>
</body>
</html>
Form.jsp
AyoAmbilForm.jsp
<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> </p>
<p><input type="submit" value="Back">
</p>
</form>
</body>
</html>
AyoAmbilForm.jsp
JSP???Database???Wowwww
• JSP sebagai teknologi untuk pembuatanaplikasi web memiliki kemampuan menanganidatabase dengan menggunakan class daninterface Java Database Connectivity ( JDBC )sebagai driver antara program JSP dandatabase server
JDBC
• JDBC adalah Application ProgrammingInterface (API) yang dikembangkan oleh SunMicrosystem untuk menyediakan akses datauniversal dalam bahasa pemrograman Java.
• JDBC menyediakan mekanisme untuk koneksidatabase, query database, dan traksaksidatabase.
• JDBC tidak melakukan standarisasi SQL, tetapidapat mendukung sintaks SQL untuk masing-masing vendor database
Diagram JDBC
• JDBC bukan database server, tetapimerupakan penyedia mekanisme untukberkomunikasi antara aplikasi Java dandatabase server
SQL Server
My SQL
Oracle
Driver
Driver
Driver
JDBCProgram
Java / JSP
<%@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>
</html>
Bahan Ajar UAS
• Materi sebelum UTS
• Soal UTS
• Materi setelah UTS
• Pelajari cara buat code untuk melakukan editdan delete pada slide “Contoh Akses Database dengan JSP”