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:

  1. Di luar
  2. Meminta
  3. Response
  4. config
  5. Aplikasi
  6. sesi
  7. Konteks Halaman
  8. Halaman
  9. 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:

Keluar di JSP

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)

Permintaan di JSP

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:

Permintaan di JSP

Ketika Anda menulis tes dan mengklik tombol kirim, maka Anda akan mendapatkan output berikut โ€œSelamat Datang Tes.โ€

Permintaan di JSP

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)

Konfigurasi di JSP

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:

Respon di JSP

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:

Sesi di JSP

Ketika Anda mengklik tautan untuk nama pengguna, Anda akan mendapatkan output berikut.

Sesi di JSP

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:

Konteks Halaman di JSP

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:

Halaman di JSP

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:

Pengecualian di JSP

Kami mendapatkan ArrayIndexOfBoundsException dalam array tempat kami mendapatkan array num1 dari elemen kelima.

Ringkaslah postingan ini dengan: