2. J2EE
Materi 4
Bekerja dengan Cookie, Session, dan Database
Tujuan
Setelah melaksanakan praktikum diharapkan mahasiswa dapat :
Mengetahui tentang cookies, session dan penggunaannya
Mengetahui cara melakukan koneksi dan pemroresan database dengan JSP
Teori Singkat
Cookies
Cookies digunakan untuk meletakkan informasi tertentu pada client. Cookies dikirimkan oleh
web server kepada browser dan browser mengembalikan nilai cookie yang tetap setiap
mengunjungi website atau domain yang sama.
Beberapa keuntungan penggunaan cookies antara lain :
- Mengidentifikasi pengguna selama sesi dalam e-commerce
- Mengingat username dan password
- Kustomisasi website
Penggunaan umum :
Membuat cookie :
Cookie c = new Cookie(“name”,”value”)
Menentukan waktu hidup :
c.setMaxAge(…);
Membaca Cookie dari browser :
Cookie[] cookies = request.getCookies();
For (int i=0; i<cookies.length; i++) {
Cookie c = cookies[i];
if (c.getName().equals(“someName”)){
doSomethingWith(c);
break;
}
}
atau Cookie dapat dibaca dengan cara sederhana :
ServletUtilities.getCookie atau ServletUtilities.getCookieValue
Session
HTTP merupakan protocol yang “stateless”. Setiap kali client melakukan request ke web page,
maka akan dibuka koneksi ke web server dan server tidak secara otomatis menyimpan informasi
mengenai client. Untuk penanganan sesi, servlet menyediakan API HttpSession. Dalam JSP
HttpSession diwujudkan dalam variabel yang telah didefinisikan dengan nama session.
Tiga metode utama yang dimiliki obyek session :
setAttribute(String nama, Object value)
getAttribute(String nama)
removeAttribute(String nama, Object value)
1
3. J2EE
Database
Untuk bekerja dengan database pada JSP, maka dilakukan mekanisme serupa dengan bekerja
menggunakan pemrograman java standar. Pada java, JDBC menyediakan pustaka standar untuk
bekerja dengan database.
7 langkah untuk bekerja dengan database :
1. Buka JDBC driver
Contoh : Class.forName(”package.DriverClass”);
2. Definisikan URL koneksi
Contoh : String oracleURL = ”jdbc:oracle:thin:@host:port:dbname”
3. Buka Koneksi
Contoh : Connection conn = DriverManager.getConnection(URL, username, password);
4. Buat obyek statement
Contoh : Statement sttmt = conn.createStatement();
5. Jalankan query atau update
Contoh : ResulSet rs = statement.executeQuery(query);
6. Proses hasil
Contoh : while (rs.next()) {
Rs.getString(columnName);
}
7. Tutup koneksi
Contoh : connection.close();
Latihan 4.1
1. Buat Project baru dengan nama LatihanEmpat1
2. Dalam project baru tersebut, ubah file index.jsp sehingga listing kodenya menjadi seperti
pada listing 4.1
Listing 4.1
<p>HALAMAN INI MEMBUAT COOKIES</p>
<%
Cookie c = new Cookie("pengguna","STMIK AMIKOM Yogyakarta");
c.setMaxAge(60);
response.addCookie(c);
%>
<p><a href="bacacookie.jsp">Halaman Baca Cookie</a></p>
3. Tambahkan sebuah file jsp, beri nama bacacookie.jsp. Ubah kode file bacacookie.jsp menjadi
seperti pada listing 4.2
2
4. J2EE
Listing 4.2
<p>INFO DALAM COOKIES :</p>
<%
Cookie[] cookies = request.getCookies();
for (int i=0;i<cookies.length;i++) {
out.println("<p>" + cookies[i].getName() + " = "
+ cookies[i].getValue() + "</p>");
}
%>
<p><a href="index.jsp">Index</a></p>
4. Simpan, Compile dan Coba jalankan !
Latihan 4.2
1. Buat Project baru dengan nama LatihanEmpat2
2. Dalam project baru tersebut, ubah file index.jsp sehingga listing kodenya menjadi seperti
pada listing 4.3
3
5. J2EE
Listing 4.3
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Latihan 4.2</title>
</head>
<body>
<h3>HALAMAN LOGIN</h3>
<form name="frmlogin" method="post" action="ceklogin.jsp">
<table border="0">
<tr>
<td>Nama Pengguna :</td>
<td><input type="text" name="namapengguna" size="10"></td>
</tr>
<tr>
<td>Password :</td>
<td><input type="password" name="password" size="10"></td>
</tr>
<tr>
<td><input type="submit" name="login" value="Login"></td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
3. Tambahkan sebuah file jsp, beri nama ceklogin.jsp. Ubah kode file ceklogin.jsp menjadi
seperti pada listing 4.4
Listing 4.4
<%
String pengguna = request.getParameter("namapengguna");
String password = request.getParameter("password");
if ((pengguna.trim().equals("amikom"))&&(password.trim().equals("oke"))) {
session.setAttribute("sudahlogin","ok");
%>
<jsp:forward page="content.jsp"></jsp:forward>
<%
} else {
%>
<h4>Nama Pengguna atau Password Salah, Silakan Cek !</h4>
<h4><a href="index.jsp">Halaman Login</a></h4>
<%
}
%>
4. Tambahkan sebuah file jsp, beri nama sesi.jsp. Ubah kode file sesi.jsp menjadi seperti pada
listing 4.5
4
6. J2EE
Listing 4.5
<%
if (session.getAttribute("sudahlogin")==null) {
%>
<jsp:forward page="index.jsp"></jsp:forward>
<%
}
%>
5. Tambahkan sebuah file jsp, beri nama content.jsp. Ubah kode file content.jsp menjadi seperti
pada listing 4.6
Listing 4.6
<%@ include file="sesi.jsp" %>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head>
<title>Latihan 4.2</title>
</head>
<body>
<p>ANDA AKAN DAPAT MELIHAT HALAMAN INI KALO SUDAH LOGIN</p>
<p><a href="logout.jsp">Keluar</a></p>
</body>
</html>
6. Tambahkan sebuah file jsp, beri nama logout.jsp. Ubah kode file logout.jsp menjadi seperti
pada listing 4.7
Listing 4.7
<%
session.removeAttribute("sudahlogin");
%>
<jsp:forward page="index.jsp"></jsp:forward>
7. Simpan, compile semua file, coba jalankan dan pelajari !
5
7. J2EE
Latihan 4.3
1. Buat Project baru dengan nama LatihanEmpat3
2. Buat database baru dengan javadb, melalui menubar. Klik tools → Java Db Database →
Create Java Db Database
3. Beri nama database : TOKO BUKU
User Name : buku
Password : buku
6
8. J2EE
4. Aktifkan tab run time, kemudian klik kanan pada : jdbc:derby://localhost:1527/TOKO
BUKU kmd klik connect
5. Klik Kanan pada Table → kemudian execute command
6. Buat table dan baris datanya dengan query berikut :
Table Pemasok :
7
14. J2EE
TUGAS
1. Tambahkan file untuk mengubah dan menghapus pemasok
2. Tambahkan file untuk mengubah dan menghapus buku
3. Bagaimana kalo id pemasok pada tambahbuku.jsp diganti pake combobox
13