Tindakan JSP yang menggunakan konstruksi dalam sintaks XML untuk mengontrol perilaku mesin servlet. Kita akan mempelajari lebih detail tentang berbagai elemen JSP Action seperti permintaan klien, respons server, kode status HTTP.
Dalam tutorial ini, Anda akan belajar-
Permintaan Klien JSP
Respons Server JSP
Kode Status HTTP JSP
Permintaan Klien JSP
Ketika halaman web diminta, itu 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 tajuk yang berbeda untuk mengirim informasi ke objek permintaan.
Header yang berbeda dijelaskan di bawah ini:
Header
Deskripsi
Contoh
Menerima
Ini menentukan jenis MIME yang dapat ditangani oleh browser atau klien lain
Image / png atau image / jpeg.webp
Terima-charset
Ini 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
Terima-bahasa
Ini menentukan bahasa yang ditentukan klien
En, en_us
Otorisasi
Header digunakan oleh klien saat mencoba mengakses halaman web yang dilindungi kata sandi
Koneksi
Ini menunjukkan apakah klien dapat menangani koneksi HTTP yang persisten (browser dapat mengambil banyak file)
Berusaha agar hidup
Panjang konten
Berlaku untuk mengirim permintaan. Ini memberikan ukuran data posting byte
Kue kering
Mengembalikan cookie ke server (yang sebelumnya dikirim ke browser)
Tuan rumah
Menentukan host dan port dari URL asli
Jika diubah sejak
Ini menunjukkan bahwa itu hanya membutuhkan halaman jika telah diubah atau dimodifikasi
Jika tidak diubah sejak
Ini menunjukkan bahwa itu membutuhkan halaman hanya jika belum diubah atau dimodifikasi
Perujuk
Menunjukkan URL halaman URL pengarah
Agen pengguna
Mengidentifikasi browser atau klien yang membuat permintaan
Metode berikut digunakan untuk membaca header HTTP di halaman JSP:
Cookie [] getCookies () - mengembalikan larik yang berisi objek cookie yang telah dikirim klien
Enumeration getAttributeNames () - berisi enumerasi nama atribut untuk permintaan
Enumeration getHeaderNames () - berisi pencacahan nama header.
Enumeration getParameterNames () - berisi enumerasi untuk mendapatkan nama parameter dalam permintaan.
HttpSessiongetSession () - mengembalikan sesi saat ini yang terkait dengan permintaan atau jika tidak memiliki sesi maka itu akan membuat yang baru.
Lokal getLocale () - mengembalikan lokal pilihan tempat klien akan menerima konten. Itu telah ditetapkan ke respons. Secara default, nilainya akan menjadi lokal default server.
Objek getAttribute (Nama string) - mengembalikan nilai atribut bernama sebagai objek.
ServletInputStreamgetInputStream () - mengambil badan permintaan sebagai data biner.
String getAuthType () - mengembalikan nama skema otentikasi untuk melindungi servlet
String getCharacterEncoding () - mengembalikan nama pengkodean karakter yang digunakan dalam isi permintaan.
String getContentType () - mengembalikan tipe MIME dari isi permintaan.
String getContextPath () - mengembalikan bagian URI permintaan yang menunjukkan jalur konteks URI
String getHeader (String name) - mengembalikan header permintaan sebagai string
String getMethod () - mengembalikan nama metode HTTP seperti GET, POST
String getParameter (String name) - mengembalikan parameter permintaan sebagai string.
String getPathInfo () - mengembalikan informasi jalur yang terkait dengan URL
String getQueryString () - mengembalikan string kueri yang terkait dengan URL permintaan
String getServletPath () - mengembalikan bagian dari URL permintaan yang memanggil JSP
String [] getParameterValues (Nama string) - mengembalikan larik objek string yang berisi nilai yang dimiliki parameter permintaan
Contoh:
Pada contoh di bawah ini, kami menggunakan metode berbeda menggunakan objek permintaan
Baris Kode 17: Menggunakan objek permintaan, kita mendapatkan objek sesi dari sesi tertentu itu, dan kita mendapatkan nilai objek dari sesi itu
Baris Kode 19: Menggunakan objek permintaan, kita mendapatkan lokal sesi tertentu i.een_US lokal untuk JSP itu.
Baris Kode 21: Menggunakan objek permintaan, kami mendapatkan info jalur untuk JSP itu. Dalam hal ini, nihil karena tidak ada jalur untuk URL yang disebutkan.
Baris Kode 23: Menggunakan objek permintaan, kami mendapatkan jalur konteks, yaitu jalur root
Baris Kode 25: Menggunakan objek permintaan, kami mendapatkan nama server.
Baris Kode 27: Menggunakan objek permintaan, kami mendapatkan port server.
Baris Kode 29-35: 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 cookie, host, koneksi, menerima bahasa, menerima pengkodean.
Saat Anda menjalankan kode di atas, Anda mendapatkan output berikut:
Keluaran :
Kami mendapatkan serangkaian nilai seperti nama sesi, nama lokal, nama jalur, nama server, nama port, host, jalur konteks, dan semua nilai header JSP itu.
Respons Server JSP
Ketika permintaan diproses dan kemudian respon 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.
Header respons disebutkan di bawah ini:
Header
Deskripsi
Mengizinkan
Ini menentukan metode permintaan seperti GET, POST yang diminta server
Kontrol cache
Dokumen tanggapan dapat disimpan dalam cache. Ini bisa publik, pribadi dan tidak ada cache. Tidak ada cache yang menentukan bahwa dokumen tidak boleh di-cache
Koneksi
Ini menginstruksikan apakah browser harus menggunakan storedHTTPConnections atau tidak. Nilai tutup menunjukkan bahwa browser tidak boleh menggunakan persisten dalam HTTPConnections dan "keep-hidup" berarti menggunakan koneksi yang persisten
Konten-disposisi
Untuk menanyakan pengguna apakah akan menyimpan respon 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 sampai kapan konten harus 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 memiliki 300 sebagai kode status
Menyegarkan
Ini menentukan bagaimana menemukan halaman yang diperbarui.
Coba lagi setelah
Ini dapat digunakan dengan respons 503 untuk memberi tahu klien seberapa cepat ia dapat mengulangi permintaan
Set-cookie
Menentukan cookie yang terkait dengan halaman
Berikut adalah metode menggunakan objek respon:
String encodeRedirectURL (String URL) - menyandikan URL dalam metode redirectURL.
String encodeURL (String URL) - menyandikan URL dengan memasukkan ID sesi.
Boolean berisiHeader (nama String) - berisi header di JSP atau tidak.
Boolean isCommited () - respons telah dilakukan atau belum.
Void addCookie (Cookie cookie) - menambahkan cookie ke respons
Void addDateHeader (String name, String value) - menambahkan nama dan nilai tanggal header respons
Void addHeader (String name, String value) - menambahkan header respons dengan nama dan nilai
Void addIntHeader (String name, int value) - menambahkan header respons dengan nama dan nilai integer
Void flushBuffer () - memaksa konten di buffer ke output ke klien.
Void reset () - membersihkan data di buffer.
Void resetBuffer - membersihkan buffer konten dalam respons tanpa menghapus kode status.
Void sendError (intsc, Stringmsg) - mengirimkan respons kesalahan ke klien menggunakan kode status.
Void sendRedirect (String location) - mengirimkan respons pengalihan sementara ke klien.
Void setBufferSize (int size) - menetapkan ukuran buffer tubuh
Void setCharacterEncoding (String charset) - mengatur pengkodean karakter
Void setContentType (String type) - menyetel jenis konten respons
Void setContentLength (intlen) - menyetel panjang konten respons
Void setLocale (Locale lcl) - menyetel jenis lokal respons
Void setStatus (intsc) - mengatur 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. *"%> Respon Tindakan Guru
Tanggapan Guru
<%Lokal lcl = response.getLocale ();out.println ("Lokal adalah: + lcl + "\ n");response.flushBuffer ();Output PrintWriter = response.getWriter ();output.println ("Ini dari objek penulis");Tipe string = response.getContentType ();out.println ("Jenis konten: + tipe + "\ n");// Atur refresh, waktu muat otomatis sebagai 5 detikresponse.setIntHeader ("Refresh", 5);// Dapatkan waktu saat iniTanggal dt = Tanggal baru ();out.println ("Tanggal hari ini adalah: + dt.toString () + "\ n");%>
Body>
Penjelasan kode:
Baris Kode 13: Menggunakan objek respons, kami mendapatkan objek lokal dari sesi JSP ini
Baris Kode 15: Menggunakan objek respon, flushbuffer digunakan untuk memaksa konten buffer ke klien
Baris Kode 16: Menggunakan objek respon, kita mendapatkan objek penulis yang mendapatkan keluaran di aliran keluaran
Baris Kode18: Menggunakan objek respons, kami mendapatkan tipe konten yaitu tipe MIME objek respons
Baris Kode 21: Menggunakan objek respons, digunakan untuk memuat otomatis setiap 5 detik karena 5 disetel sebagai parameter kedua
Saat Anda menjalankan kode di atas, Anda mendapatkan output berikut:
Keluaran:
Di sini kita mendapatkan output karena ini dari objek writer dari getWriter, yang memberi kita objek dan kita bisa mengeluarkannya dalam arus keluaran.
Kami mendapatkan lokal sebagai en_us dan tipe konten sebagai teks / html
Kami mendapatkan charset sebagai ISO 8859
Tanggal hari ini sebagai tanggal hari ini.
Kode Status HTTP JSP
Saat permintaan diproses, respons dibuat. Baris status respons terdiri dari versi HTTP, kode status, dan pesan terkait.
Pesan tersebut secara langsung dikaitkan dengan kode status dan versi HTTP, dan ditentukan oleh server.
Secara default 200 disetel sebagai kode status di JSP, jadi kami tidak perlu menyetel secara eksplisit.
Kita bisa mengaturnya sebagai metode response.setStatus ()
Kode-kode tersebut termasuk dalam 5 kategori berikut:
100-199 - Di sini klien menunjukkan bahwa ia harus merespons dengan beberapa tindakan
200-299 - Ini menandakan bahwa permintaan berhasil
300-399 - Digunakan untuk file yang telah dipindahkan dan biasanya menyertakan tajuk lokasi yang menunjukkan alamat baru
400-499 - Menunjukkan kesalahan oleh klien
500-599 - Menunjukkan kesalahan oleh server
Beberapa kode status umum ada di bawah ini:
200 - Menunjukkan semuanya baik-baik saja
301 - Sudah pindah secara permanen
304 - Tidak diubah sejak perubahan terakhir
400 permintaan Buruk
404 tidak ditemukan
405 - Metode tidak ditemukan
500 Internal Server Error
503 Layanan tidak tersedia
505 - Versi HTTP tidak didukung
Beberapa metodenya tercantum di bawah ini:
Public void setStatus (intstatusCode)
Ini menetapkan kode status mana pun yang ingin kita atur di Halaman JSP. Ini akan memberi kita pesan kode status yang telah ditetapkan
Public void sendRedirect (String URL)
Ini menghasilkan respons 302 bersama dengan tajuk lokasi yang memberikan URL dokumen baru
Public void sendError (intcode, Stringmsg)
Ini mengirimkan kode status bersama dengan pesan singkat dan itu diformat di 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"%> Kode Status Guru <% response.sendError (404, "Halaman Guru Tidak Ditemukan"); %> Body>
Penjelasan kode:
Baris Kode 10: Menggunakan objek respons kami mengirimkan kesalahan ke halaman dengan dua parameter.
Kode status - Bisa salah satu dari yang di atas. Dalam kasus ini, kami gambarkan sebagai 404
Pesan - Ini bisa berupa pesan khusus yang ingin kami tunjukkan kesalahannya
Jika Anda menjalankan kode di atas, Anda mendapatkan output berikut:
Keluaran:
Di sini kita mendapatkan kode kesalahan 404, yang dikirim dari kode dan juga menampilkan pesan "Halaman Guru tidak ditemukan" yang terlihat pada keluaran.
Ringkasan:
Dalam artikel ini, kita telah belajar tentang permintaan klien dan respons server tentang bagaimana permintaan itu dicegat dan bagaimana respons dimanipulasi.
Juga, kami telah belajar tentang kode status HTTP untuk menunjukkan kode kesalahan atau kode sukses untuk file tertentu.