Kod status HTTP Servlet
Format permintaan HTTP dan mesej respons HTTP adalah serupa, dan strukturnya adalah seperti berikut:
Baris status awal + pemulangan pengangkutan dan suapan talian (pemulangan pengangkutan + suapan baris)
Sifar atau lebih baris tajuk + pemulangan gerabak dan suapan baris
Satu baris kosong, iaitu pemulangan gerabak dan suapan baris
Isi mesej pilihan, seperti fail, data pertanyaan atau output pertanyaan
Sebagai contoh, pengepala respons pelayan kelihatan seperti ini:
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) <!doctype ...> <html> <head>...</head> <body> ... </body> </html>
Barisan status Termasuk versi HTTP (dalam kes ini, HTTP/1.1), kod status (dalam kes ini, 200) dan mesej ringkas yang sepadan dengan kod status (dalam kes ini, OK).
Berikut ialah senarai kod status HTTP dan maklumat berkaitan yang mungkin dikembalikan daripada pelayan web:
Kod | Mesej | Penerangan |
---|---|---|
100 | Teruskan | Hanya sebahagian daripada permintaan telah diterima oleh pelayan, tetapi selagi ia belum ditolak, pelanggan harus meneruskan permintaan tersebut. |
101 | Protokol Penukaran | Protokol penukaran pelayan. |
200 | OK | Permintaan berjaya. |
201 | Dibuat | Permintaan selesai dan mencipta sumber baharu. |
202 | Diterima | Permintaan telah diterima untuk pemprosesan, tetapi pemprosesan tidak lengkap. |
203 | Maklumat Tidak Berwibawa | |
204 | Tiada Kandungan | |
205 | Tetapkan Semula Kandungan | |
206 | Kandungan Separa | |
300 | Berbilang Pilihan | Senarai pautan. Pengguna boleh memilih pautan untuk pergi ke lokasi tersebut. Sehingga lima alamat. |
301 | Dipindahkan Secara Kekal | Halaman yang diminta telah dialihkan ke URL baharu. |
302 | Ditemui | Halaman yang diminta telah dialihkan buat sementara waktu ke URL baharu. |
303 | Lihat Lain | Halaman yang diminta boleh ditemui di bawah URL lain. |
304 | Tidak Diubahsuai | |
305 | Gunakan Proksi | |
306 | Tidak Digunakan | Kod ini telah digunakan dalam versi sebelumnya. Ia tidak lagi digunakan, tetapi kod itu kekal. |
307 | Ubah Hala Sementara | Halaman yang diminta telah dialihkan buat sementara waktu ke URL baharu. |
400 | Permintaan Buruk | Pelayan tidak memahami permintaan itu. |
401 | Tidak dibenarkan | Halaman yang diminta memerlukan nama pengguna dan kata laluan. |
402 | Pembayaran Diperlukan | Anda tidak boleh menggunakan kod ini lagi. |
403 | Dilarang | Akses ke halaman yang diminta adalah dilarang. |
404 | Tidak Ditemui | Pelayan tidak dapat mencari halaman yang diminta. . |
405 | Kaedah Tidak Dibenarkan | Kaedah yang dinyatakan dalam permintaan tidak dibenarkan. |
406 | Tidak Boleh Diterima | Pelayan hanya menjana respons yang tidak diterima oleh pelanggan. |
407 | Pengesahan Proksi Diperlukan | Anda mesti menggunakan pengesahan pelayan proksi sebelum permintaan dihantar. |
408 | Permintaan Tamat Masa | Permintaan mengambil masa lebih lama daripada pelayan boleh menunggu dan tamat masa. |
409 | Konflik | Permintaan tidak dapat diselesaikan kerana konflik. |
410 | Hilang | Halaman yang diminta tidak tersedia lagi. |
411 | Panjang Diperlukan | "Panjang Kandungan" tidak ditentukan. Pelayan tidak boleh mengendalikan maklumat permintaan yang dihantar oleh klien tanpa Panjang Kandungan. |
412 | Prasyarat Gagal | Prasyarat yang diberikan dalam permintaan telah dinilai oleh pelayan sebagai palsu. |
413 | Minta Entiti Terlalu Besar | Pelayan tidak menerima permintaan kerana entiti permintaan terlalu besar. |
414 | url-permintaan Terlalu Panjang | Pelayan tidak menerima permintaan kerana URL terlalu panjang. Berlaku apabila anda menukar permintaan "siaran" kepada permintaan "dapatkan" dengan maklumat pertanyaan yang panjang. |
415 | Jenis Media Tidak Disokong | Pelayan tidak menerima permintaan kerana jenis media tidak disokong. |
417 | Jangkaan Gagal | |
500 | Ralat Pelayan Dalaman | Permintaan yang luar biasa. Pelayan menghadapi situasi yang tidak dijangka. |
501 | Tidak Dilaksanakan | Permintaan tidak lengkap. Pelayan tidak menyokong fungsi yang diperlukan. |
502 | Gerbang Buruk | Permintaan tidak lengkap. Pelayan menerima respons tidak sah daripada pelayan huluan. |
503 | Perkhidmatan Tidak Tersedia | Permintaan tidak lengkap. Pelayan terlampau beban buat sementara waktu. |
504 | Tamat Masa Gerbang | Tamat masa Gerbang. |
505 | Versi HTTP Tidak Disokong | Pelayan tidak menyokong versi "HTTP protocol". |
Kaedah untuk menetapkan kod status HTTP
Kaedah berikut boleh digunakan untuk menetapkan kod status HTTP dalam program Servlet. Kaedah ini tersedia melalui objek HttpServletResponse.
Nombor siri | Kaedah & Perihalan | < /tr>||||||||
---|---|---|---|---|---|---|---|---|---|
1 | public void setStatus ( int statusCode )
PrintWriter . | ||||||||
2 | public void sendRedirect(String url)Kaedah ini menghasilkan respons 302, bersama-sama dengan The Lokasi pengepala URL dokumen baharu. | ||||||||
3 | public void sendError(int code, String message) Kaedah ini menghantar kod status (biasanya 404), bersama-sama dengan mesej ringkas yang diformat secara automatik di dalam dokumen HTML dan dihantar kepada pelanggan. |
HTTP Status 407 - Need authentication!!!type Status report message Need authentication!!! description The client must first authenticate itself with the proxy (Need authentication!!!). Apache Tomcat/5.5.29 |
// 导入必需的 java 库 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; // 扩展 HttpServlet 类 public class showError extends HttpServlet { // 处理 GET 方法请求的方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置错误代码和原因 response.sendError(407, "Need authentication!!!" ); } // 处理 POST 方法请求的方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }<🎜>Sekarang, memanggil Servlet di atas akan memaparkan hasil berikut: <🎜>
Status HTTP 407 - Perlu pengesahan!!!<🎜>type < /strong> Laporan status<🎜><🎜>mesejApache Tomcat/5.5.29 |