Petunjuk JSP
Apa itu Petunjuk JSP?
- Arahan JSP adalah pesan ke wadah JSP. Mereka memberikan informasi global tentang keseluruhan halaman JSP.
- Arahan JSP digunakan untuk memberikan instruksi khusus ke wadah untuk menerjemahkan JSP ke kode servlet.
- Dalam fase siklus hidup JSP, JSP harus dikonversi ke servlet yang merupakan fase penerjemahan.
- Mereka memberikan instruksi kepada container tentang cara menangani aspek-aspek tertentu dari pemrosesan JSP
- Direktif dapat memiliki banyak atribut yang dipisahkan koma sebagai pasangan nilai kunci.
- Dalam JSP, arahan dijelaskan dalam
<%@ %>tag.
Sintaks Petunjuk:
<%@ directive attribute="" %>
Jenis-jenis Direktif dalam JSP
Ada tiga jenis arahan dalam JSP:
- Arahan halaman
- Sertakan arahan
- arahan Taglib
Masing-masing dari mereka dijelaskan secara rinci di bawah ini dengan contoh:
1) Arahan Halaman JSP
Sintaks arahan Halaman:
<%@ page…%>
- Ini menyediakan atribut yang bisa diterapkan ke seluruh halaman JSP.
- Ini mendefinisikan atribut yang bergantung pada halaman, seperti bahasa skrip, halaman kesalahan, dan persyaratan buffering.
- Ini digunakan untuk memberikan instruksi ke wadah yang berkaitan dengan halaman JSP saat ini.
Berikut ini adalah daftar atribut yang terkait dengan arahan halaman:
- Bahasa
- Meluas
- impor
- Jenis konten
- Info
- Sidang
- adalah ThreadSafe
- pembilasan otomatis
- penyangga
- IsErrorPage
- pengkodean halaman
- halaman kesalahan
- adalahELIgonored
Detail lebih lanjut tentang setiap atribut
1) bahasa: Ini mendefinisikan bahasa pemrograman (bahasa dasar) yang digunakan di halaman.
Sintaks bahasa:
<%@ page language="value" %>
Di sini nilainya adalah bahasa pemrograman (bahasa yang mendasarinya)
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
Penjelasan kode: Dalam contoh di atas, nilai bahasa atribut adalah Java yang merupakan bahasa yang mendasari dalam kasus ini. Oleh karena itu, kode dalam tag ekspresi akan dikompilasi menggunakan kompiler java.
2) Memperluas: Atribut ini digunakan untuk memperluas (mewarisi) kelas seperti yang dilakukan JAVA
Sintaks perluasan:
<%@ page extends="value" %>
Di sini nilainya mewakili kelas yang harus diwarisi.
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page extends="demotest.DemoClass" %>
Penjelasan kodenya: Dalam kode di atas JSP memperluas DemoClass yang ada dalam paket demotest, dan itu akan memperluas semua fitur kelas.
3) Impor: Atribut ini adalah atribut yang paling banyak digunakan dalam atribut arahan halaman. Ini digunakan untuk memberi tahu wadah agar mengimpor kelas java lain, antarmuka, enum, dll. sambil menghasilkan kode servlet. Ini mirip dengan pernyataan impor di kelas java, antarmuka.
Sintaks impor:
<%@ page import="value" %>
Di sini nilai menunjukkan kelas yang harus diimpor.
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
import="java.util.Date" pageEncoding="ISO-8859-1"%>
Penjelasan kodenya:
Dalam kode di atas, kita mengimpor kelas Date dari paket java.util (semua kelas utilitas), dan dapat menggunakan semua metode dari kelas berikut.
4) Tipe konten:
- Ini mendefinisikan skema pengkodean karakter yaitu digunakan untuk mengatur tipe konten dan set karakter respon
- Tipe konten default adalah
"text/html; charset=ISO-8859-1".
Sintaks dari tipe konten:
<%@ page contentType="value" %>
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
Penjelasan kodenya:
Dalam kode di atas, tipe konten ditetapkan sebagai teks/html, ini menetapkan pengkodean karakter untuk JSP dan untuk halaman respons yang dihasilkan.
5) informasi
- Ini mendefinisikan string yang dapat diakses dengan metode getServletInfo().
- Atribut ini digunakan untuk mengatur deskripsi servlet.
Sintaks informasi:
<%@ page info="value" %>
Di sini, nilai mewakili informasi servlet.
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>
Penjelasan kodenya:
Dalam kode di atas, string “Guru Directive JSP” dapat diambil oleh antarmuka servlet menggunakan getServletInfo()
6) Sesi
- Halaman JSP membuat sesi secara default.
- Terkadang kita tidak memerlukan sesi yang dibuat di JSP, dan karenanya, kita dapat menyetel atribut ini ke false dalam kasus tersebut. Nilai default atribut session adalah true, dan sesi dibuat. Jika disetel ke false, maka kita dapat memberi tahu kompiler untuk tidak membuat sesi secara default.
Sintaks sesi:
<%@ page session="true/false"%>
Di sini, dalam hal ini, atribut sesi dapat disetel ke benar atau salah
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
session="false"%>
Penjelasan kode:
Dalam contoh di atas, atribut sesi diatur ke "false" maka kami menunjukkan bahwa kami tidak ingin membuat sesi apa pun di JSP ini
7) apakah ThreadAman:
- Ini mendefinisikan model threading untuk servlet yang dihasilkan.
- Ini menunjukkan tingkat keamanan thread yang diterapkan di halaman.
- Nilai defaultnya adalah true jadi simultan
- Kita dapat menggunakan atribut ini untuk mengimplementasikan antarmuka SingleThreadModel di servlet yang dihasilkan.
- Jika kita menyetelnya ke false, maka ia akan mengimplementasikan SingleThreadModel dan dapat mengakses objek apa pun yang dibagikan dan dapat menghasilkan inkonsistensi.
Sintaks isThreadSafe:
<% @ page isThreadSafe="true/false" %>
Di sini benar atau salah menyatakan jika sinkronisasi terjadi, maka atur sebagai benar dan atur sebagai salah.
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
isThreadSafe="true"%>
Penjelasan kodenya:
Pada kode di atas, isThreadSafe diatur ke “true” maka sinkronisasi akan dilakukan, dan beberapa thread dapat digunakan.
8) Siram Otomatis:
Atribut ini menentukan bahwa output yang di-buffer harus di-flush secara otomatis atau tidak dan nilai default dari atribut tersebut adalah true. Jika nilainya ditetapkan ke false, buffer tidak akan di-flush secara otomatis dan jika penuh, kita akan mendapatkan pengecualian. Jika buffer tidak ada, maka false tidak sah, dan tidak ada buffering, jadi akan di-flush secara otomatis.
Sintaks autoFlush:
<% @ page autoFlush="true/false" %>
Di sini benar/salah menunjukkan apakah buffering harus dilakukan atau tidak
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
autoFlush="false"%>
Penjelasan kodenya:
Pada kode di atas, autoflush ditetapkan ke false dan karenanya buffering tidak akan dilakukan dan output akan dibilas secara manual.
9) Buffer:
- Dengan menggunakan atribut ini, objek respons keluaran dapat di-buffer.
- Kita dapat menentukan ukuran buffering yang akan dilakukan menggunakan atribut ini dan ukuran default adalah 8KB.
- Ia mengarahkan servlet untuk menulis buffer sebelum menulis ke objek respons.
Sintaksis buffer:
<%@ page buffer="value" %>
Di sini nilai tersebut mewakili ukuran buffer yang harus ditentukan. Jika tidak ada buffer, maka kita dapat menuliskan none, dan jika kita tidak menyebutkan nilai apa pun maka defaultnya adalah 8KB
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
buffer="16KB"%>
Penjelasan kodenya:
Pada kode di atas, ukuran buffer disebutkan sebagai 16KB dimana buffer akan berukuran sebesar itu
10) adalahHalaman Kesalahan:
- Hal ini menunjukkan bahwa Halaman JSP yang memiliki halaman error akan diperiksa di halaman JSP lain
- File JSP apa pun yang dideklarasikan dengan atribut “isErrorPage” kemudian mampu menerima pengecualian dari halaman JSP lain yang memiliki halaman kesalahan.
- Pengecualian hanya tersedia untuk halaman ini.
- Nilai defaultnya adalah salah.
Sintaks isErrorPage:
<%@ page isErrorPage="true/false"%>
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
isErrorPage="true"%>
Penjelasan kodenya:
Pada kode di atas, isErrorPage disetel sebagai true. Oleh karena itu, ia akan memeriksa apakah JSP lain memiliki kumpulan atribut errorPage (dijelaskan dalam atribut berikutnya) dan dapat menangani pengecualian.
11) Pengkodean Halaman:
Atribut “pageEncoding” menentukan pengkodean karakter untuk halaman JSP. Defaultnya ditetapkan sebagai “ISO-8859-1” jika tidak ada yang lain yang ditetapkan.
Sintaks pengkodean halaman:
<%@ page pageEncoding="vaue" %>
Di sini nilai menentukan nilai rangkaian karakter untuk JSP
Contoh:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
isErrorPage="true"%>
Penjelasan kodenya:
Dalam kode di atas "pageEncoding" telah disetel ke rangkaian karakter default ISO-8859-1
12) halaman kesalahan:
Atribut ini digunakan untuk mengatur halaman kesalahan pada halaman JSP jika JSP memunculkan pengecualian dan kemudian dialihkan ke halaman pengecualian.
Sintaks halaman kesalahan:
<%@ page errorPage="value" %>
Di sini nilai mewakili nilai halaman JSP kesalahan
Contoh:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
errorPage="errorHandler.jsp"%>
Penjelasan kodenya:
Dalam kode di atas, untuk menangani pengecualian kita memiliki errroHandler.jsp
13) adalahELIgnore:
- IsELIgnored adalah atribut flag dimana kita harus memutuskan apakah akan mengabaikan tag EL atau tidak.
- Tipe datanya adalah java enum, dan nilai defaultnya adalah false sehingga EL diaktifkan secara default.
Sintaks isELIgnored:
<%@ page isELIgnored="true/false" %>
Di sini, true/false mewakili nilai EL apakah harus diabaikan atau tidak.
Contoh:
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
isELIgnored="true"%>
Penjelasan kodenya:
Dalam kode di atas, isELIgnored adalah benar dan karenanya Bahasa Ekspresi (EL) diabaikan di sini. Dalam contoh di bawah ini kami menggunakan empat atribut (baris kode 1-2)
Contoh dengan empat atribut
<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"
isELIgnored="false"%>
<%@page import="java.util.Date" %>
<!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>Directive Guru JSP1</title>
</head>
<body>
<a>Date is:</a>
<%= new java.util.Date() %>
</body>
</html>
Penjelasan kodenya:
Baris Kode 1-2: Di sini kita telah mendefinisikan empat atribut yaitu
- Bahasa: Ditetapkan sebagai Java sebagai bahasa pemrograman
- contentType: ditetapkan sebagai teks/html untuk memberi tahu kompiler bahwa html harus diformat
- pageEncoding: rangkaian karakter default diatur dalam atribut ini
- isELIgnored: Tag Ekspresi salah sehingga tidak diabaikan
Baris Kode 3: Di sini kami telah menggunakan atribut impor, dan mengimpor “kelas Tanggal” yang berasal dari Java paket util, dan kami mencoba menampilkan tanggal saat ini dalam kode.
Ketika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut
Keluaran:
- Tanggal adalah: Tanggal saat ini menggunakan metode tanggal dari kelas tanggal
2)JSP Sertakan arahan
- JSP “include directive” (codeline 8) digunakan untuk memasukkan satu file ke file lainnya
- File yang disertakan ini dapat berupa HTML, JSP, file teks, dll.
- Ini juga berguna dalam membuat templat dengan tampilan pengguna dan membagi halaman menjadi tindakan header&footer dan sidebar.
- Ini termasuk file selama fase terjemahan
Sintaks arahan include:
<%@ include….%>
Contoh:
Directive_jsp2.jsp (File utama)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ include file="directive_header_jsp3.jsp" %>
<!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 Directive JSP2</title>
</head>
<body>
<a>This is the main file</a>
</body>
</html>
Directive_header_jsp3.jsp (yang disertakan dalam file utama)
<%@ 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">
</head>
<body>
<a>Header file : </a>
<%int count =1; count++;
out.println(count);%> :
</body>
</html>
Penjelasan kodenya:
Petunjuk_jsp2.jsp:
Baris Kode 3: Dalam kode ini, kami menggunakan tag penyertaan di mana kami memasukkan file directive_header_jsp3.jsp ke dalam file utama (_jsp2.jsp) dan mendapatkan output dari file utama dan file yang disertakan.
Petunjuk_header_jsp3.jsp:
Baris Kode 11-12: Kami telah mengambil jumlah variabel yang diinisialisasi ke 1 dan kemudian menambahnya. Ini akan memberikan output pada file utama seperti yang ditunjukkan di bawah ini.
Ketika Anda menjalankan kode di atas, Anda akan mendapatkan keluaran berikut:
Keluaran:
- Outputnya adalah File header: 2 : Ini adalah file utama
- Outputnya dieksekusi dari file directive_jsp2.jsp sedangkan file directive_header_jsp3.jsp yang disertakan akan dikompilasi terlebih dahulu.
- Setelah file yang disertakan selesai, file utama dijalankan, dan output dari file utama adalah “Ini adalah file utama”. Jadi Anda akan mendapatkan output sebagai “File header: 2” dari _jsp3.jsp dan “Ini adalah file utama” dari _jsp2.jsp.
3) Direktif JSP Taglib
- Direktif taglib JSP digunakan untuk mendefinisikan perpustakaan tag dengan “taglib” sebagai awalan, yang dapat kita gunakan JSP.
- Detail lebih lanjut akan dibahas di bagian Tag Kustom JSP
- Arahan taglib JSP digunakan di halaman JSP menggunakan pustaka tag standar JSP
- Ia menggunakan sekumpulan tag khusus, mengidentifikasi lokasi perpustakaan dan menyediakan sarana untuk mengidentifikasi tag khusus di halaman JSP.
Sintaks arahan taglib:
<%@ taglib uri="uri" prefix="value"%>
Di sini atribut “uri” adalah pengidentifikasi unik dalam deskriptor perpustakaan tag dan atribut “awalan” adalah nama tag.
Contoh:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="gurutag" uri="http://java.sun.com/jsp/jstl/core" %>
<!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 Directive JSP</title>
<gurutag:hello/>
</head>
<body>
</body>
</html>
Penjelasan kodenya:
Baris Kode 3: Di sini “taglib” didefinisikan dengan atribut uri dan awalan.
Baris Kode 9: “gurutag” adalah tag khusus yang ditentukan dan dapat digunakan di mana saja


