Permintaan Klien JSP

โšก Ringkasan Cerdas

Permintaan klien JSP dan respons server menggunakan elemen aksi JSP untuk mengontrol mesin servlet. Browser mengirimkan informasi melalui header HTTP, server mengembalikan baris status dan header, dan kode status HTTP melaporkan hasil dari setiap permintaan.

  • ๐Ÿ“จ Permintaan Klien: Browser mengirimkan data ke server dalam header permintaan HTTP, yang dibaca melalui HttpServletRequest.
  • ๐Ÿงพ Header Permintaan: Accept, Accept-language, Connection, Cookie, Host, dan User-agent menjelaskan klien.
  • ๐Ÿ“ค Respon Server: HttpServletResponse mengembalikan baris status, header respons, dan dokumen.
  • ๐Ÿ”ง Metode Respons: addHeader(), sendRedirect(), sendError(), dan setStatus() membentuk respons.
  • ๐Ÿ”ข Status Codes: Dikelompokkan antara 100โ€“599; yang umum termasuk 200, 301, 404, dan 500.
  • ๐Ÿงช contoh: Halaman JSP yang berfungsi dengan baik membaca header, mengatur interval penyegaran, dan mengirimkan kesalahan 404.

Permintaan Klien JSP

Action JSP menggunakan konstruksi dalam sintaks XML untuk mengontrol perilaku mesin servlet. Kita akan mempelajari lebih detail tentang berbagai elemen Action JSP seperti permintaan klien, respons server, dan 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 Example
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
Authorization 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 dari aslinya. URL
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 merujuk URL halaman
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 daftar nama header.
  4. Pencacahan getParameterNames() โ€“ berisi enumerasi untuk mendapatkan nama parameter dalam permintaan.
  5. HttpSession getSession() โ€“ 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. ServletInputStream getInputStream() โ€“ 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 permintaan tersebut. URL
  18. String getServletPath() โ€“ mengembalikan bagian dari URLs dari 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:

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

Code Baris 19: Dengan menggunakan objek permintaan, kita mendapatkan lokal dari sesi tertentu, yaitu lokal en_US untuk JSP tersebut.

Code Baris 21: Dengan menggunakan objek permintaan, kita mendapatkan informasi jalur untuk JSP tersebut. Dalam kasus ini, nilainya null karena tidak ada jalur untuk JSP tersebut. URL tersebut.

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

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

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

Code Baris 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 dari kelas HTTPServletResponse, yang merupakan objek respons.
  • Baris status adalah versi HTML.

Respon Header di JSP

Header respons di JSP disebutkan di bawah ini:

Header Deskripsi
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. Pengalihan kode stringURL(Rangkaian URL) - mengkodekan URL dalam pengalihanURL Metode.
  2. pengkodean stringURL(Rangkaian URL) - mengkodekan URL dengan menyertakan 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. Void sendError(int sc,String msg) โ€“ 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. Void setContentLength(int len) โ€“ mengatur panjang konten respons
  18. Batal setLocale(LCL Lokal) โ€“ mengatur jenis respons lokal
  19. Void setStatus(int sc) โ€“ menetapkan kode status respons

Contoh:

Dalam contoh ini, kita membahas berbagai metode getLocale, flushbuffer, get.Writer, getContentType, 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:

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

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

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

Code Baris 18: Dengan menggunakan objek respon, kita mendapatkan tipe konten yaitu tipe objek respon MIME

Code Baris 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 output karena ini berasal dari objek penulis dari get.Writer, yang memberi kita objek dan kita dapat menampilkannya di 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.

Status HTTP JSP Codes

  • 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

Status HTTP Code Metode dalam JSP

Beberapa metode kode status di JSP tercantum di bawah ini:

  1. Public void setStatus(int statusCode): Ini mengatur kode status yang ingin kita atur di Halaman JSP tersebut. Ini akan memberi kita pesan kode status yang telah ditetapkan.
  2. Publik void sendRedirect(String URL): Ini menghasilkan respons 302 beserta header lokasi yang memberikan URL dari dokumen baru
  3. Public void sendError(int code,String msg): 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:

Code Baris 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:

Status HTTP JSP Codes

Keluaran:

Di sini kita mendapatkan kode kesalahan 404, yang dikirim dari kode tersebut dan juga menampilkan โ€œGuru Pesan "Halaman tidak ditemukan" terlihat pada output.

Pertanyaan Umum Demo Slot

HttpServletRequest membawa data yang dikirim oleh klien ke server, seperti header dan parameter. HttpServletResponse membawa data yang dikirim kembali dari server, termasuk kode status, header respons, dan konten dokumen.

Kode status 404 berarti sumber daya yang diminta tidak ditemukan di server. Di JSP, Anda dapat mengirimkannya secara eksplisit dengan `response.sendError(404, โ€œmessageโ€)` untuk menampilkan halaman khusus yang menyatakan tidak ditemukan.

Gunakan objek permintaan: getHeaderNames() mengembalikan enumerasi nama header, dan getHeader(name) mengembalikan setiap nilai header. Lakukan iterasi pada nama-nama tersebut untuk membaca setiap header yang dikirim oleh klien.

AI dapat mengurai log header, menandai header yang hilang atau salah konfigurasi, mendeteksi masalah keamanan seperti tidak adanya cache-control, dan meringkas pola lalu lintas, membantuping Pengembang dapat melakukan debugging dan optimasi penanganan permintaan dan respons dengan lebih cepat.

Ya. AI dapat menghasilkan skrip JSP yang membaca parameter dan header permintaan, mengatur header respons, dan mengirim kode status dari deskripsi bahasa biasa, yang kemudian ditinjau oleh pengembang untuk memastikan kebenaran dan keamanannya.

Ringkaslah postingan ini dengan: