Permintaan Klien JSP

Tindakan JSP yang menggunakan konstruksi dalam sintaks XML untuk mengontrol perilaku mesin servlet. Kita akan mempelajari lebih detail tentang berbagai elemen Aksi JSP seperti permintaan klien, respons server, kode status HTTP.

Permintaan Klien JSP

  • Ketika halaman web diminta, ia mengirimkan informasi ke server web di header HTTP.
  • Kita dapat menggunakan informasi ini menggunakan objek HTTPServletRequest.
  • Informasi yang dikirim oleh browser disimpan di header permintaan permintaan HTTP.
  • Kami menggunakan header berbeda untuk mengirim informasi ke objek permintaan.

Header di JSP

Header yang berbeda di JSP dijelaskan di bawah ini:

Header Deskripsi Produk Contoh
Setuju Ini menentukan tipe MIME yang dapat ditangani oleh browser atau klien lain Gambar/png atau gambar/jpeg
Set-set terima Ia menggunakan kumpulan karakter yang digunakan oleh browser untuk menampilkan informasi ISO-8859-1
Terima- Pengkodean Ini menentukan jenis pengkodean yang ditangani oleh browser Gzip atau kompres
Bahasa terima Ini menentukan bahasa yang ditentukan klien En, en_us
Otorisasi Header yang digunakan oleh klien ketika mencoba mengakses halaman web yang dilindungi kata sandi  
Koneksi Ini menunjukkan apakah klien dapat menangani koneksi HTTP persisten (browser dapat mengambil banyak file) Berusaha agar hidup
Panjang konten Berlaku untuk mengirim permintaan. Ini memberikan ukuran data posting byte  
Kue Mengembalikan cookie ke server (yang sebelumnya dikirim ke browser)  
tuan rumah Menentukan host dan port URL asli  
Jika diubah sejak itu Ini menunjukkan bahwa itu hanya memerlukan satu halaman jika telah diubah atau dimodifikasi  
Jika tidak dimodifikasi sejak itu Ini menunjukkan bahwa ini memerlukan halaman hanya jika belum diubah atau dimodifikasi  
Perujuk Menunjukkan URL halaman URL perujuk  
Agen pengguna Mengidentifikasi permintaan pembuatan browser atau klien  

Metode Header HTTP di JSP

Metode berikut digunakan untuk membaca header HTTP di halaman JSP:

  1. Kue[] getCookie() – mengembalikan array yang berisi objek cookie yang telah dikirim klien
  2. Pencacahan getAttributeNames() – berisi enumerasi nama atribut untuk permintaan
  3. Enumerasi getHeaderNames() – berisi enumerasi nama header.
  4. Pencacahan getParameterNames() – berisi enumerasi untuk mendapatkan nama parameter dalam permintaan.
  5. HttpSessiongetSession() – mengembalikan sesi saat ini yang terkait dengan permintaan atau jika tidak memiliki sesi maka akan membuat sesi baru.
  6. GetLocale lokal() – mengembalikan lokal pilihan yang akan digunakan klien untuk menerima konten. Lokal pilihan ini telah ditetapkan ke respons. Secara default, nilainya akan menjadi lokal default server.
  7. Objek getAttribute(Nama string) – mengembalikan nilai atribut bernama sebagai objek.
  8. ServletInputStreamgetInputStream() – mengambil isi permintaan sebagai data biner.
  9. String getAuthType() – mengembalikan nama skema otentikasi untuk melindungi servlet
  10. String getCharacterEncoding() – mengembalikan nama pengkodean karakter yang digunakan dalam isi permintaan.
  11. String getContentType() – mengembalikan tipe isi permintaan MIME.
  12. String getContextPath() – mengembalikan bagian permintaan URI menunjukkan jalur konteks URI
  13. String getHeader(Nama string) – mengembalikan header permintaan sebagai string
  14. String dapatkanMetode() – mengembalikan nama metode HTTP seperti GET, POST
  15. String getParameter(Nama string) – mengembalikan parameter permintaan sebagai string.
  16. String getPathInfo() – mengembalikan informasi jalur yang terkait dengan URL
  17. String getQueryString() – mengembalikan string kueri yang terkait dengan URL permintaan
  18. String getServletPath() – mengembalikan bagian URL permintaan yang memanggil JSP
  19. String[] getParameterValues(Nama string) – mengembalikan array objek string yang berisi nilai yang dimiliki parameter permintaan

Contoh:

Pada contoh di bawah, kami menggunakan metode berbeda menggunakan objek permintaan

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.io.* java.util.*" %>
<!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>Client Request Guru JSP</title>
</head>
<body>
<h2>Client Request Guru JSP</h2>

<table border="1">
<tr>
<th>guru header</th><th>guru header Value(s)</th>
</tr>
<%
	HttpSession gurusession = request.getSession(); 
	out.print("<tr><td>Session Name is </td><td>" +gurusession+ "</td.></tr>");
	Locale gurulocale = request.getLocale ();
	out.print("<tr><td>Locale Name is</td><td>" +gurulocale + "</td></tr>");
	String path = request.getPathInfo(); 
	out.print("<tr><td>Path Name is</td><td>" +path+ "</td></tr>"); 
	String lpath = request.get();
	out.print("<tr><td>Context path is</td><td>" +lipath + "</td></tr>"); 
	String servername = request.getServerName(); 
	out.print("<tr><td>Server Name is </td><td>" +servername+ "</td></tr>");
	int portname = request.getServerPort(); 
	out.print("<tr><td>Server Port is </td><td>" +portname+ "</td></tr>");
	Enumeration hnames = request.getHeaderNames();
	while(hnames.hasMoreElements()) { 
		String paramName = (String)hnames.nextElement();
		out.print ("<tr><td>" + paramName + "</td>" );
		
		String paramValue = request.getHeader(paramName);
		out.println("<td> " + paramValue + "</td></tr>");
	}

%>

Penjelasan kodenya:

Baris Kode 17: Dengan menggunakan objek permintaan, kita mendapatkan objek sesi dari sesi tertentu, dan kita mendapatkan nilai objek dari sesi tersebut

Baris Kode 19: Dengan menggunakan objek permintaan, kita mendapatkan lokal dari sesi tertentu i.een_US lokal untuk JSP itu.

Baris Kode 21: Menggunakan objek permintaan, kami mendapatkan info jalur untuk JSP tersebut. Dalam hal ini, nilainya nol karena tidak ada jalur untuk URL yang disebutkan.

Baris Kode 23: Dengan menggunakan objek permintaan, kita mendapatkan jalur konteks, yaitu jalur root

Baris Kode 25: Menggunakan objek permintaan, kita mendapatkan nama server.

Baris Kode 27: Menggunakan objek permintaan, kita mendapatkan port server.

Baris Kode 29-35: Dengan menggunakan objek permintaan, kita mendapatkan nama header yang keluar sebagai enumerasi, dan karenanya kita mendapatkan semua nilai header di nama header.

Dalam hal ini, kita mendapatkan semua nilai header sebagai a Kue, host, koneksi, terima bahasa, terima pengkodean.

Ketika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut:

Permintaan Klien JSP

Keluaran:

Kami mendapatkan rangkaian nilai seperti nama sesi, nama lokal, nama jalur, nama server, nama port, host, jalur konteks, dan semua nilai headernya. JSP.

Respon Server JSP

  • Ketika permintaan diproses dan kemudian respons dihasilkan dari server web. Ini terdiri dari baris status, header respons, baris kosong, dan dokumen.
  • Ini adalah objek HTTPServletResponseclass, yang merupakan objek respons.
  • Baris status adalah versi HTML.

Respon Header di JSP

Header respons di JSP disebutkan di bawah ini:

Header Deskripsi Produk
mengizinkan Ini menentukan metode permintaan seperti GET, POST yang diminta server
Kontrol cache Dokumen respons dapat di-cache. Itu bisa publik, pribadi, dan tanpa cache. Tidak ada cache yang menentukan bahwa dokumen tidak boleh di-cache
Koneksi Ini menginstruksikan apakah browser harus menggunakan saveHTTPConnections atau tidak. Nilai close menyatakan bahwa browser tidak boleh menggunakan persisten dalam HTTPConnections dan “tetap hidup” berarti menggunakan koneksi persisten
Disposisi konten Untuk menanyakan pengguna apakah akan menyimpan respons ke disk atau tidak
Pengkodean konten Halaman harus dikodekan selama transmisi
Panjang konten Jumlah byte dalam respons
Jenis konten Ini menentukan jenis respons MIME
Kedaluwarsa Menentukan kapan konten dianggap kedaluwarsa dan tidak boleh di-cache
Terakhir diubah Ini menunjukkan kapan dokumen terakhir diubah
Lokasi Ini harus disertakan dengan semua tanggapan yang memiliki kode status 300 sebagai kode status
menyegarkan Ini menentukan cara menemukan halaman yang diperbarui.
Coba lagi setelahnya Ini dapat digunakan dengan respons 503 untuk memberi tahu klien seberapa cepat klien dapat mengulangi permintaan
Set-kue Menentukan cookie yang terkait dengan halaman

Metode Header Respons HTTP di JSP

Berikut ini adalah metode dalam JSP yang menggunakan objek respons:

  1. String encodeRedirectURL(String URL) – mengkodekan URL dalam metode redirectURL.
  2. URL penyandian string(URL string) – mengkodekan URL dengan memasukkan ID sesi.
  3. Boolean berisiHeader(Nama string) – itu berisi header di JSP atau tidak.
  4. Boolean berkomitmen() – respons telah dilakukan atau tidak.
  5. Void addCookie(Cookie cookie) – menambahkan cookie ke respons
  6. Void addDateHeader(Nama string, nilai String) – menambahkan nama dan nilai tanggal header respons
  7. Void addHeader(Nama string, nilai String) – menambahkan header respons dengan nama dan nilai
  8. Batalkan addIntHeader(Nama string,nilai int) – menambahkan header respons dengan nama dan nilai integer
  9. Batalkan siramBuffer() - memaksa konten dalam buffer ke output ke klien.
  10. Batalkan pengaturan ulang() – menghapus data dalam buffer.
  11. Batalkan pengaturan ulangBuffer - menghapus buffer konten dalam respons tanpa menghapus kode status.
  12. Batalkan sendError(intsc,Stringmsg) – mengirimkan respons kesalahan ke klien menggunakan kode status.
  13. Batalkan sendRedirect(Lokasi string) – mengirimkan respons pengalihan sementara ke klien.
  14. Batal diaturBufferUkuran (ukuran int) – mengatur ukuran buffer badan
  15. Batalkan setCharacterEncoding (rangkaian karakter string) – mengatur pengkodean karakter
  16. Batalkan setContentType(Jenis string) – mengatur tipe konten respons
  17. Batalkan setContentLength(intlen) – mengatur panjang konten respons
  18. Batal setLocale(LCL Lokal) – mengatur jenis respons lokal
  19. Batalkan setStatus(intsc) – menetapkan kode status respons

Contoh:

Dalam contoh ini, kami membahas berbagai metode getLocale, flushbuffer, getWriter, get ContentType, setIntHeader.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.io.* java.util.*" %>
<!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 Action Response</title>
</head>
<body>
<center>
<h2>Guru Response</h2>
<%
Locale lcl = response.getLocale();
out.println("Locale is : " + lcl + "\n");
response.flushBuffer();
PrintWriter output = response.getWriter();
output.println("This is from writer object");
String type = response.getContentType();
out.println("The content type : " + type + "\n");
	// Set refresh,autoload time as 5 seconds
	response.setIntHeader("Refresh", 5);
	//Get current time
	Date dt = new Date();
	out.println("Today's date is : " +dt.toString() + "\n");
%>
</center>
</body>
</html>

Penjelasan kodenya:

Baris Kode 13: Dengan menggunakan objek respon, kita mendapatkan objek lokal dari sesi JSP ini

Baris Kode 15: Menggunakan objek respons, flushbuffer digunakan untuk memaksa konten buffer ke klien

Baris Kode 16: Dengan menggunakan objek respon, kita mendapatkan objek penulis yang mendapatkan keluaran dalam aliran keluaran

Kode Baris18: Dengan menggunakan objek respon, kita mendapatkan tipe konten yaitu tipe objek respon MIME

Baris Kode 21: Menggunakan objek respons, digunakan untuk memuat otomatis setiap 5 detik karena 5 ditetapkan sebagai parameter kedua

Ketika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut:

Respon Server JSP

Keluaran:

  • Di sini kita mendapatkan keluaran karena ini dari objek penulis dari getWriter, yang memberi kita objek dan kita dapat menghasilkan keluaran dalam aliran keluaran.
  • Kami mendapatkan lokal sebagai en_us dan tipe konten sebagai teks/html
  • Kami mendapatkan charset sebagai ISO 8859
  • Tanggal hari ini sebagai tanggal saat ini.

Kode Status HTTP JSP

  • Ketika permintaan diproses, respons dihasilkan. Baris status respons terdiri dari versi HTTP, kode status, dan pesan terkait.
  • Pesan tersebut terkait langsung dengan kode status dan versi HTTP, dan ditentukan oleh server.
  • Secara default 200 diset sebagai kode status di JSP, jadi kita tidak perlu mengaturnya secara eksplisit.
  • Kita dapat menetapkan sebagai metode respon.setStatus()

Kode-kode tersebut terbagi dalam 5 kategori berikut:

  • 100-199 – Di sini klien menunjukkan bahwa ia harus merespons dengan beberapa tindakan
  • 200-299 – Artinya permintaan berhasil
  • 300-399 – Digunakan untuk file yang telah dipindahkan dan biasanya menyertakan header lokasi yang menunjukkan alamat baru
  • 400-499 – Menunjukkan kesalahan klien
  • 500-599 – Menunjukkan kesalahan oleh server

Beberapa kode status umum ada di bawah:

  • 200 – Menunjukkan semuanya baik-baik saja
  • 301 – Telah berpindah secara permanen
  • 304 – Tidak diubah sejak perubahan terakhir
  • 400 permintaan Buruk
  • 404 - Tidak ditemukan
  • 405 – Metode tidak ditemukan
  • 500 - Galat Server Internal
  • 503 Layanan tidak tersedia
  • 505 – Versi HTTP tidak didukung

Metode Kode Status HTTP di JSP

Beberapa metode kode status di JSP tercantum di bawah ini:

  1. Kekosongan publik setStatus(intstatusCode): Ini mengatur kode status yang ingin kita atur di Halaman JSP tersebut. Ini akan memberi kita pesan kode status yang telah ditetapkan.
  2. Kekosongan publik sendRedirect (String URL): Ini menghasilkan respons 302 bersama dengan tajuk lokasi yang memberikan URL dokumen baru
  3. Kekosongan publik sendError(intcode,Stringmsg): Ia mengirimkan kode status bersama dengan pesan singkat dan diformat dalam dokumen HTML.

Contoh:

Dalam contoh ini, kami mengirimkan kesalahan ke halaman JSP secara eksplisit.

<%@ 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 Status Code</title>
</head>
<body>
<% response.sendError(404,"Guru Page Not Found"); %>
</body>
</html>

Penjelasan kodenya:

Baris Kode 10: Menggunakan objek respons kami mengirimkan kesalahan ke halaman dengan dua parameter.

  1. Kode status – Bisa berupa salah satu kode di atas. Dalam hal ini, kami menggambarkannya sebagai 404
  2. Pesan – Ini bisa berupa pesan spesifik apa pun yang ingin kami tampilkan kesalahannya

Jika Anda menjalankan kode di atas, Anda akan mendapatkan output berikut:

Kode Status HTTP JSP

Keluaran:

Di sini kita mendapatkan kode kesalahan 404, yang dikirim dari kode tersebut dan juga menampilkan pesan "Halaman Guru tidak ditemukan" yang terlihat di output.

Kesimpulan

  • Dalam artikel ini, kita telah mempelajari tentang permintaan klien dan respons server tentang bagaimana permintaan disadap dan bagaimana respons tersebut dimanipulasi.
  • tindakan JSP yang menggunakan konstruksi dalam sintaks XML untuk mengontrol perilaku mesin servlet.
  • Ketika halaman web diminta, ia mengirimkan informasi ke server web di header HTTP.
  • Ketika permintaan diproses dan kemudian respons dihasilkan dari server web. Ini terdiri dari baris status, header respons, baris kosong, dan dokumen.
  • Ketika permintaan diproses, respons dihasilkan. Baris status respons terdiri dari versi HTTP, kode status, dan pesan terkait.