Objek Implisit JSP
Apa itu objek implisit JSP?
- Objek implisit JSP dibuat selama fase penerjemahan JSP ke servlet.
- Objek-objek ini dapat langsung digunakan dalam skrip yang masuk dalam metode layanan.
- Mereka dibuat oleh container secara otomatis, dan dapat diakses menggunakan objek.
Berapa banyak Objek Implisit yang tersedia di JSP?
Ada 9 jenis objek implisit yang tersedia dalam wadah:
- Di luar
- Meminta
- Response
- config
- Aplikasi
- sesi
- Konteks Halaman
- Halaman
- Pengecualian
Mari kita belajar Satu Per Satu
1) Keluar
- Out adalah salah satu objek implisit untuk menulis data ke buffer dan mengirim output ke klien sebagai respons
- Objek keluar memungkinkan kita mengakses aliran keluaran servlet
- Out adalah objek kelas javax.servlet.jsp.jspWriter
- Saat bekerja dengan servlet, kita membutuhkan objek printwriter
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit Guru JSP1</title>
</head>
<body>
<% int num1=10;int num2=20;
out.println("num1 is " +num1);
out.println("num2 is "+num2);
%>
</body>
</html>
Penjelasan kodenya:
Baris Kode 11-12โ keluar digunakan untuk mencetak ke aliran keluaran
Ketika kita mengeksekusi kode di atas, kita mendapatkan output berikut:
Keluaran:
- Pada outputnya, kita mendapatkan nilai num1 dan num2
2) Permintaan
- Objek permintaan adalah turunan dari java.servlet.http.HttpServletRequest dan merupakan salah satu argumen metode layanan
- Itu akan dibuat oleh wadah untuk setiap permintaan.
- Ini akan digunakan untuk meminta informasi seperti parameter, informasi header, nama server, dll.
- Ia menggunakan getParameter() untuk mengakses parameter permintaan.
Contoh:
Implisit_jsp2.jsp(formulir dari mana permintaan dikirim ke guru.jsp)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit Guru form JSP2</title>
</head>
<body>
<form action="guru.jsp">
<input type="text" name="username">
<input type="submit" value="submit">
</form>
</body>
</html>
Guru.jsp (tempat tindakan diambil)
Penjelasan kode:
Baris Kode 10-13 : Dalam implicit_jsp2.jsp(form) permintaan dikirim, maka variabel nama pengguna diproses dan dikirim ke guru.jsp yang merupakan tindakan JSP.
Guru.jsp
Kode Baris10-11: Ini adalah action jsp dimana permintaan diproses, dan nama pengguna diambil dari form jsp.
Ketika Anda menjalankan kode di atas, Anda mendapatkan output berikut
Keluaran:
Ketika Anda menulis tes dan mengklik tombol kirim, maka Anda akan mendapatkan output berikut โSelamat Datang Tes.โ
3) Tanggapan
- โResponseโ adalah turunan kelas yang mengimplementasikan antarmuka HttpServletResponse
- Kontainer menghasilkan objek ini dan meneruskan ke metode _jspservice() sebagai parameter
- โObjek responsโ akan dibuat oleh penampung untuk setiap permintaan.
- Ini mewakili respons yang dapat diberikan kepada klien
- Objek implisit respons digunakan untuk mengetikkan konten, menambahkan cookie, dan mengalihkan ke halaman respons
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit Guru JSP4</title>
</head>
<body>
<%response.setContentType("text/html"); %>
</body>
</html>
Penjelasan kodenya:
Baris Kode 11: Di objek respons kita dapat mengatur tipe konten
Di sini kita hanya mengatur tipe konten di objek respon. Oleh karena itu, tidak ada keluaran untuk ini.
4) Konfigurasi
- โConfigโ bertipe java.servlet.servletConfig
- Itu dibuat oleh wadah untuk setiap halaman jsp
- Ini digunakan untuk mendapatkan parameter inisialisasi di web.xml
Contoh:
Web.xml (menentukan nama dan pemetaan servlet)
Implicit_jsp5.jsp (mendapatkan nilai nama servlet)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit Guru JSP5</title>
</head>
<body>
<% String servletName = config.getServletName();
out.println("Servlet Name is " +servletName);%>
</body>
</html>
Penjelasan kodenya:
Di web.xml
Baris Kode 14-17: Di web.xml kami memiliki pemetaan servlet ke kelas.
Implisit_jsp5.jsp
Baris Kode 10-11: Untuk mendapatkan nama servlet di JSP, kita bisa menggunakan config.getServletName, yang akan membantu kita mendapatkan nama servlet.
Ketika Anda menjalankan kode di atas, Anda akan mendapatkan keluaran berikut:
Keluaran:
- Nama servlet adalah โGuruServletโ karena namanya ada di web.xml
5) Aplikasi
- Objek aplikasi (baris kode 10) adalah turunan dari javax.servlet.ServletContext dan digunakan untuk mendapatkan informasi konteks dan atribut di JSP.
- Objek aplikasi dibuat oleh kontainer satu per aplikasi, saat aplikasi diterapkan.
- Objek servletcontext berisi sekumpulan metode yang digunakan untuk berinteraksi dengan container servlet. Kita dapat menemukan informasi tentang container servlet
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Implicit JSP6</title>
</head>
<body>
<% application.getContextPath(); %>
</body>
</html>
Penjelasan kodenya:
- Dalam kode di atas, atribut aplikasi membantu mendapatkan jalur konteks halaman JSP.
6) Sesi
- Sesi ini berisi objek โhttpsessionโ (baris kode 10).
- Objek sesi digunakan untuk mendapatkan, mengatur dan menghapus atribut pada cakupan sesi dan juga digunakan untuk mendapatkan informasi sesi
Contoh:
Implisit_jsp7(atribut disetel)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit JSP</title>
</head>
<body>
<% session.setAttribute("user","GuruJSP"); %>
<a href="implicit_jsp8.jsp">Click here to get user name</a>
</body>
</html>
Implisit_jsp8.jsp (getAttribute)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>implicit Guru JSP8</title>
</head>
<body>
<% String name = (String)session.getAttribute("user");
out.println("User Name is " +name);
%>
</body>
</html>
Penjelasan kodenya:
Implisit_jsp7.jsp
Baris Kode 11: kita menyetel atribut user dalam variabel sesi, dan nilai itu dapat diambil dari sesi di mana pun jsp dipanggil dari itu (_jsp8.jsp).
Baris Kode 12: Kami memanggil jsp lain di href di mana kami akan mendapatkan nilai untuk atribut user yang disetel.
Implisit_jsp8.jsp
Baris Kode 11: Kami mendapatkan nilai atribut pengguna dari objek sesi dan menampilkan nilai itu
Ketika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut:
Ketika Anda mengklik tautan untuk nama pengguna, Anda akan mendapatkan output berikut.
Keluaran:
- Ketika kita mengklik link yang diberikan di implicit_jsp7.jsp maka kita diarahkan ke halaman jsp kedua, yaitu halaman (_jsp8.jsp) dan kita mendapatkan nilai dari objek sesi atribut pengguna (_jsp7.jsp).
7) Konteks Halaman
- Objek ini bertipe konteks halaman.
- Ini digunakan untuk mendapatkan, mengatur, dan menghapus atribut dari cakupan tertentu
Cakupan terdiri dari 4 jenis:
- Halaman
- Meminta
- sesi
- Aplikasi
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit Guru JSP9</title>
</head>
<body>
<% pageContext.setAttribute("student","gurustudent",pageContext.PAGE_SCOPE);
String name = (String)pageContext.getAttribute("student");
out.println("student name is " +name);
%>
</body>
</html>
Penjelasan kodenya:
Baris Kode 11: kita mengatur atribut menggunakan objek pageContext, dan memiliki tiga parameter:
- kunci
- Nilai
- Cakupan
Pada kode di atas, kuncinya adalah siswa dan nilainya adalah โsiswa guruโ sedangkan cakupannya adalah cakupan halaman. Di sini cakupannya adalah "halaman" dan hanya dapat menggunakan cakupan halaman.
Baris Kode 12: Kami mendapatkan nilai atribut menggunakan pageContext
Ketika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut:
Keluaran:
- Outputnya akan mencetak โnama siswa adalah guru siswaโ.
8) Halaman
- Variabel implisit halaman menampung objek servlet yang saat ini dieksekusi untuk jsp yang sesuai.
- Bertindak sebagai objek ini untuk halaman jsp saat ini.
Contoh:
Dalam contoh ini, kita menggunakan objek halaman untuk mendapatkan nama halaman menggunakan metode toString
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit Guru JSP10</title>
</head>
<body>
<% String pageName = page.toString();
out.println("Page Name is " +pageName);%>
</body>
</html>
Penjelasan kodenya:
Baris Kode 10-11: Dalam contoh ini, kami mencoba menggunakan metode toString() dari objek halaman dan mencoba mendapatkan nama string Halaman JSP.
Ketika Anda menjalankan kode tersebut, Anda akan mendapatkan keluaran berikut:
Keluaran:
- Outputnya adalah nama string dari halaman jsp di atas
9) Pengecualian
- Pengecualian adalah objek implisit dari kelas throwable.
- Ini digunakan untuk penanganan pengecualian di JSP.
- Objek pengecualian hanya dapat digunakan di halaman kesalahan.Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isErrorPage="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Implicit Guru JSP 11</title>
</head>
<body>
<%int[] num1={1,2,3,4};
out.println(num1[5]);%>
<%= exception %>
</body>
</html>
Penjelasan kodenya:
Baris Kode 10-12 โ Memiliki deretan angka, yaitu angka1 dengan empat elemen. Pada output, kami mencoba mencetak elemen kelima dari array dari num1, yang tidak dideklarasikan dalam daftar array. Jadi ini digunakan untuk mendapatkan objek pengecualian dari jsp.
Keluaran:
Kami mendapatkan ArrayIndexOfBoundsException dalam array tempat kami mendapatkan array num1 dari elemen kelima.











