respon server JSP
Respon Respon terutama hasil post-processing JSP container untuk lulus kembali ke klien. Anda dapat mengatur respon HTTP oleh variabel negara dan data transmisi, seperti Cookie, informasi header HTTP ke klien.
Sebuah respon khas terlihat seperti ini:
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (空行) <!doctype ...> <html> <head>...</head> <body> ... </body> </html>
Baris status berisi informasi versi HTTP, seperti HTTP / 1.1, kode status, seperti 200, ada pesan yang sangat singkat yang sesuai dengan kode status, seperti OK.
Tabel berikut merangkum header respon HTTP1.1 bagian yang paling berguna dari Jaringan Pemrograman Anda akan sering melihat mereka:
header respon | deskripsi |
---|---|
mengizinkan | Menentukan bahwa server mendukung metode permintaan (GET, POST, dll) |
Cache-Control | Menentukan dokumen respon dapat di-cache situasi keamanan. Nilai ini biasanya publik, swasta atau no-cache, dan sebagainya. Public berarti bahwa dokumen dapat di-cache, Swasta berarti bahwa dokumen tersebut hanya layanan single user dan hanya menggunakan cache pribadi. No-cache berarti bahwa dokumen tidak akan di-cache. |
koneksi | Browser perintah apakah akan menggunakan koneksi HTTP gigih. dekat browser perintah nilai tidak menggunakan koneksi HTTP gigih, dan tetap-hidup berarti menggunakan koneksi persisten. |
Content-Disposition | Biarkan browser mengharuskan pengguna untuk menanggapi nama yang diberikan disimpan pada disk |
Content-Encoding | Halaman aturan transmisi coding ditentukan |
Konten-Bahasa | Dokumen deskripsi bahasa yang digunakan, seperti en, en-us ,, ru dll |
Content-Length | Hal ini menunjukkan jumlah byte respon. Hanya di browser Anda untuk menggunakan persisten bermanfaat dari if (terus-hidup) koneksi HTTP |
Content-Type | Jenis MIME dokumen menunjukkan bahwa penggunaan |
kedaluwarsa | Ketika ditentukan kedaluwarsa dan dihapus dari cache |
Last-Modified | Ditentukan dalam dokumen terakhir diubah. Klien bisa cache dokumen dan memberikan header permintaan Jika-Diubah-Sejak di permintaan berikutnya |
tempat | Dalam 300 detik, termasuk semua memiliki kode status dalam menanggapi alamat, browser secara otomatis akan menyambung kembali dan kemudian mengambil dokumen baru |
menyegarkan | Menunjukkan seberapa sering browser meminta update halaman. |
Coba lagi-Setelah | Dan 503 (Service Unavailable) digunakan bersama-sama untuk memberitahu pengguna berapa lama permintaan akan mendapatkan respon |
Set-Cookie | Sesuai Cookie menunjukkan halaman saat ini |
kelas HttpServletResponse
javax.servlet.http.HttpServletResponse respon objek adalah instance dari kelas. Seperti Server menciptakan objek permintaan, itu akan membuat respon klien.
objek respon mendefinisikan proses untuk membuat informasi antarmuka HTTP header. Dengan menggunakan objek ini, pengembang dapat menambahkan cookie baru atau timestamp, serta kode status HTTP, dan sebagainya.
Daftar tabel berikut digunakan untuk mengatur metode header respon HTTP yang disediakan oleh kelas HttpServletResponse:
SN | Metode & deskripsi |
---|---|
1 | String encodeRedirectURL (String url) Pada sendRedirect () metode URL yang digunakan untuk mengkodekan |
2 | String encodeURL (String url) URL encoding, URL pulang yang berisi Session ID |
3 | boolean containsHeader (String nama) Mengembalikan header respon tertentu jika ada |
4 | boolean isCommitted () Kembali apakah respon telah disampaikan ke klien |
5 | kekosongan addCookie (Cookie Cookie) Menambahkan cookie yang ditentukan untuk respon |
6 | kekosongan addDateHeader (String nama, tanggal panjang ) Menambahkan header respon dan tanggal yang ditentukan nama |
7 | kekosongan AddHeader (String nama, nilai String ) Menambahkan header respon dan nilai-nilai nama yang ditentukan |
8 | kekosongan addIntHeader (String nama, nilai int ) Menambahkan header respon dan nilai int dengan nama tertentu |
9 | membatalkan flushBuffer () Apa isi cache ditulis ke klien |
10 | kekosongan reset () Menghapus cache data apapun, termasuk kode status dan header respon berbagai |
11 | membatalkan resetBuffer () Hapus cache data dasar, tidak termasuk header respon dan kode status |
12 | membatalkan sendError (int sc) Menggunakan kode status tertentu dikirim ke klien respon kesalahan, dan kemudian menghapus cache |
13 | kekosongan sendError (int sc, String msg ) Menggunakan kode status tertentu dan pesan kesalahan dikirim dalam menanggapi klien |
14 | membatalkan sendRedirect (String lokasi) Menggunakan URL tertentu dikirim ke klien respon langsung sementara |
15 | kekosongan setBufferSize (ukuran int) Mengatur ukuran buffer respon tubuh |
16 | kekosongan setCharacterEncoding (String charset) Menentukan kode respon set (MIME set karakter), seperti UTF-8 |
17 | kekosongan setContentLength (int len) Menentukan servlets HTTP dalam menanggapi panjang konten, metode yang digunakan untuk mengatur HTTP Content-Length header yang |
18 | kekosongan setContentType (String type) Mengatur jenis konten dari respon, jika respon belum diserahkan, maka |
19 | kekosongan setDateHeader (String nama, tanggal panjang ) Dengan nama tertentu dan menetapkan nilai dari respon nama header dan isi |
20 | kekosongan setHeader (String nama, nilai String ) Dengan nama tertentu dan menetapkan nilai dari respon nama header dan isi |
21 | kekosongan setIntHeader (String nama, nilai int ) Dengan nama tertentu dan menetapkan nilai dari respon nama header dan isi |
22 | kekosongan setlocale (Lokal loc) Tanggapan pengaturan lokal, jika respon belum diserahkan, maka |
23 | kekosongan setStatus (int sc) Mengatur respon kode status |
HTTP respon sundulan Program Contoh
Contoh berikut ini menggunakan setIntHeader () metode dan setRefreshHeader () metode untuk mensimulasikan sebuah jam digital:
<%@ 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>自动刷新实例</h2> <% // 设置每隔5秒自动刷新 response.setIntHeader("Refresh", 5); // 获取当前时间 Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = hour+":"+ minute +":"+ second +" "+ am_pm; out.println("当前时间: " + CT + "\n"); %> </body> </html>
Menyimpan kode main.jsp di atas, maka mengaksesnya melalui browser. Ini akan menampilkan setiap lima detik pada waktu saat ini.
Kita bisa melihat grafik Gif presentasi berikut:
Anda juga dapat memodifikasi kode di atas sendiri, mencoba untuk menggunakan metode lain, kita akan bisa mendapatkan pemahaman yang lebih dalam.