permintaan klien JSP
Ketika browser meminta halaman, ia akan mengirim serangkaian informasi tidak dapat dibaca langsung ke web server, karena informasi ini sebagai bagian dari informasi header HTTP yang akan dikirim. Anda dapat memeriksa protokol HTTP untuk mendapatkan informasi lebih lanjut.
Tabel berikut ini berisi beberapa isi penting dari header peramban, setelah pemrograman jaringan Anda akan sering melihat informasi ini:
informasi | deskripsi |
---|---|
menerima | Menentukan jenis MIME browser atau klien lainnya dapat menangani. Nilainya biasanya image / png atau image / jpeg |
Terima-Charset | Menentukan karakter set untuk menggunakan browser. Misalnya, ISO-8859-1 |
Terima-Encoding | Menentukan jenis encoding. Nilainya biasanya gzip atau kompres |
Terima-Bahasa | Tentukan bahasa pilihan klien, servlet akan memberikan prioritas untuk mengembalikan hasil set untuk bahasa saat konstitusi, jika servlet mendukung ini kata-kata bahasa. Misalnya en, en-us, ru dll |
otorisasi | Mengidentifikasi berbagai akses pengguna ke halaman Web yang dilindungi sandi |
koneksi | Hal ini menunjukkan apakah klien dapat menangani koneksi persistent HTTP. koneksi persisten memungkinkan klien atau browser menjemput beberapa file dalam satu permintaan. Keep-Alive menunjukkan mengaktifkan koneksi persistent |
Content-Length | Hanya untuk permintaan POST, jumlah byte POST Data |
kue | Pengembalian sebelumnya dikirim ke cookie browser ke server |
tuan rumah | Menunjukkan bahwa URL asli dari nama host dan nomor port |
Jika-Diubah-Sejak | Tampilkan hanya saat halaman itu diubah pada tanggal klien ditentukan hanya membutuhkan website ini. server akan mengirimkan 304 yard ke klien bahwa tidak ada sumber daya diperbarui |
Jika-tidak dirubah-Sejak | Dan Jika-Diubah-Sejak Sebaliknya, hanya dokumen belum diubah setelah tanggal yang ditentukan, operasi akan berhasil |
referer | URL dari halaman ditandai dengan referensi. Misalnya, jika Anda berada di halaman 1, maka link ke halaman 2, maka URL halaman 1 akan dimasukkan dalam browser meminta halaman judul 2 |
User-Agent | Ini digunakan untuk membedakan antara browser yang berbeda atau permintaan dikirim oleh klien, dan berbagai jenis browser untuk kembali konten yang berbeda |
kelas HttpServletRequest
javax.servlet.http.HttpServletRequest objek permintaan adalah turunan dari kelas. Setiap kali klien meminta halaman, JSP mesin akan menghasilkan objek baru untuk mewakili permintaan.
objek permintaan menyediakan serangkaian metode untuk mendapatkan informasi header HTTP, termasuk data formulir, cookies, metode HTTP, dan sebagainya.
Berikutnya akan memperkenalkan beberapa HTTP header Dapatkan umum dalam metode pemrograman JSP. Untuk detail, silakan lihat tabel di bawah:
Tidak. | Metode & deskripsi |
---|---|
1 | Cookie [] getCookies () Mengembalikan array semua klien Cookie |
2 | getAttributeNames pencacahan () Mengembalikan koleksi semua properti dari nama objek permintaan |
3 | getHeaderNames pencacahan () Mengembalikan koleksi semua nama-nama header HTTP |
4 | getParameterNames pencacahan () Mengembalikan koleksi semua parameter permintaan |
5 | HttpSession getSession () Pengembalian meminta objek sesi yang sesuai, jika tidak, membuat |
6 | HttpSession getSession (boolean buat) Pengembalian meminta objek sesi yang sesuai jika tidak ada parameter dan membuat benar, mengembalikan sebuah objek sesi baru |
7 | Lokal getLocale () Pengembalian ini objek halaman Lokal dapat diberikan dalam respon |
8 | Objek getAttribute (String nama) Mengembalikan nama atribut nama nilai, dan jika tidak ada nol kembali. |
9 | ServletInputStream getInputStream () Mengembalikan permintaan input stream |
10 | String getAuthType () Mengembalikan nama skema otentikasi yang digunakan untuk melindungi servlet, seperti "BASIC" atau "SSL" atau null jika tidak ada langkah-langkah perlindungan JSP |
11 | String getCharacterEncoding () Mengembalikan permintaan karakter nama encoding set |
12 | String getContentType () Mengembalikan tipe MIME dari permintaan utama, atau null jika tidak diketahui |
13 | String getContextPath () Mengembalikan path konteks yang ditentukan dalam permintaan URI |
14 | String getHeader (String nama) Mengembalikan nama ditentukan dalam header pesan |
15 | String GetMethod () Mengembalikan metode permintaan HTTP, seperti GET ,, POST, atau PUT |
16 | String getParameter (String nama) Mengembalikan nama permintaan parameter yang ditentukan, atau null jika tidak ada |
17 | String getPathInfo () Mengembalikan URL jalur tambahan yang terkait dengan permintaan ini |
18 | String getProtocol () Mengembalikan nama dan versi protokol yang digunakan oleh permintaan ini |
19 | String getQueryString () Ini mengembalikan URL permintaan string mengandung |
20 | String getRemoteAddr () Mengembalikan alamat IP klien |
21 | String getRemoteHost () Mengembalikan nama lengkap dari klien |
22 | String getRemoteUser () Kembali ke klien melalui otentikasi pengguna login, jika pengguna tidak mengotentikasi atau null |
23 | String getRequestURI () Mengembalikan permintaan URI |
24 | String getRequestedSessionId () Mengembalikan ID permintaan sesi yang ditentukan |
25 | String getServletPath () jalan kembali servlet diminta |
26 | String [] getParameterValues (String nama) Mengembalikan parameter menentukan nama semua nilai, atau null jika tidak ada |
27 | boolean isSecure () Mengembalikan apakah permintaan saluran terenkripsi, seperti HTTPS |
28 | int getContentLength () Mengembalikan jumlah byte yang terkandung dalam tubuh permintaan, atau -1 jika tidak diketahui |
29 | int getIntHeader (String nama) Nilai yang dikembalikan menentukan nama header permintaan |
30 | int getServerPort () Mengembalikan nomor port server |
contoh HTTP header
Dalam contoh ini, kita akan menggunakan metode getHeaderNames HttpServletRequest kelas () untuk membaca header HTTP. Metode ini mengembalikan penghitungan informasi header untuk permintaan HTTP saat ini.
Setelah mendapatkan objek Pencacahan, cara standar untuk melintasi objek Pencacahan, metode hasMoreElements () untuk menentukan kapan untuk berhenti menggunakan metode nextElement () untuk mendapatkan nama masing-masing parameter.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h2>HTTP 头部请求实例</h2> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>Header Name</th><th>Header Value(s)</th> </tr> <% Enumeration headerNames = request.getHeaderNames(); while(headerNames.hasMoreElements()) { String paramName = (String)headerNames.nextElement(); out.print("<tr><td>" + paramName + "</td>\n"); String paramValue = request.getHeader(paramName); out.println("<td> " + paramValue + "</td></tr>\n"); } %> </table> </body> </html>
Akses main.jsp, akan mendapatkan hasil sebagai berikut:
Anda dapat mencoba metode lain dari kelas HttpServletRequest dalam kode di atas.