新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)Servlet教程:ServletHTTP狀態(tài)碼
servlet HTTP 狀態(tài)碼
HTTP 請求和 HTTP 響應消息的格式是類似的,結構如下:

10年積累的成都網站建設、網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有麥蓋提免費網站建設讓你可以放心的選擇與我們合作。
- 初始狀態(tài)行 + 回車換行符(回車+換行)
- 零個或多個標題行+回車換行符
- 一個空白行,即回車換行符
- 一個可選的消息主體,比如文件、查詢數據或查詢輸出
例如,服務器的響應頭如下所示:
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) ... ...
狀態(tài)行包括 HTTP 版本(在本例中為 HTTP/1.1)、一個狀態(tài)碼(在本例中為 200)和一個對應于狀態(tài)碼的短消息(在本例中為 OK)。
以下是可能從 Web 服務器返回的 HTTP 狀態(tài)碼和相關的信息列表:
| 代碼 | 消息 | 描述 |
|---|---|---|
| 100 | Continue | 只有請求的一部分已經被服務器接收,但只要它沒有被拒絕,客戶端應繼續(xù)該請求。 |
| 101 | Switching Protocols | 服務器切換協(xié)議。 |
| 200 | OK | 請求成功。 |
| 201 | Created | 該請求是完整的,并創(chuàng)建一個新的資源。 |
| 202 | Accepted | 該請求被接受處理,但是該處理是不完整的。 |
| 203 | Non-authoritative Information | |
| 204 | No Content | |
| 205 | Reset Content | |
| 206 | Partial Content | |
| 300 | Multiple Choices | 鏈接列表。用戶可以選擇一個鏈接,進入到該位置。最多五個地址。 |
| 301 | Moved Permanently | 所請求的頁面已經轉移到一個新的 URL。 |
| 302 | Found | 所請求的頁面已經臨時轉移到一個新的 URL。 |
| 303 | See Other | 所請求的頁面可以在另一個不同的 URL 下被找到。 |
| 304 | Not Modified | |
| 305 | Use Proxy | |
| 306 | Unused | 在以前的版本中使用該代碼?,F(xiàn)在已不再使用它,但代碼仍被保留。 |
| 307 | Temporary Redirect | 所請求的頁面已經臨時轉移到一個新的 URL。 |
| 400 | Bad Request | 服務器不理解請求。 |
| 401 | Unauthorized | 所請求的頁面需要用戶名和密碼。 |
| 402 | Payment Required | 您還不能使用該代碼。 |
| 403 | Forbidden | 禁止訪問所請求的頁面。 |
| 404 | Not Found | 服務器無法找到所請求的頁面。. |
| 405 | Method Not Allowed | 在請求中指定的方法是不允許的。 |
| 406 | Not Acceptable | 服務器只生成一個不被客戶端接受的響應。 |
| 407 | Proxy Authentication Required | 在請求送達之前,您必須使用代理服務器的驗證。 |
| 408 | Request Timeout | 請求需要的時間比服務器能夠等待的時間長,超時。 |
| 409 | Conflict | 請求因為沖突無法完成。 |
| 410 | Gone | 所請求的頁面不再可用。 |
| 411 | Length Required | "Content-Length" 未定義。服務器無法處理客戶端發(fā)送的不帶 Content-Length 的請求信息。 |
| 412 | Precondition Failed | 請求中給出的先決條件被服務器評估為 false。 |
| 413 | Request Entity Too Large | 服務器不接受該請求,因為請求實體過大。 |
| 414 | Request-url Too Long | 服務器不接受該請求,因為 URL 太長。當您轉換一個 "post" 請求為一個帶有長的查詢信息的 "get" 請求時發(fā)生。 |
| 415 | Unsupported Media Type | 服務器不接受該請求,因為媒體類型不被支持。 |
| 417 | Expectation Failed | |
| 500 | Internal Server Error | 未完成的請求。服務器遇到了一個意外的情況。 |
| 501 | Not Implemented | 未完成的請求。服務器不支持所需的功能。 |
| 502 | Bad Gateway | 未完成的請求。服務器從上游服務器收到無效響應。 |
| 503 | Service Unavailable | 未完成的請求。服務器暫時超載或死機。 |
| 504 | Gateway Timeout | 網關超時。 |
| 505 | HTTP Version Not Supported | 服務器不支持"HTTP協(xié)議"版本。 |
設置 HTTP 狀態(tài)代碼的方法
下面的方法可用于在 Servlet 程序中設置 HTTP 狀態(tài)碼。這些方法通過 HttpServletResponse 對象可用。
| 序號 | 方法 & 描述 |
|---|---|
| 1 | public void setStatus ( int statusCode ) 該方法設置一個任意的狀態(tài)碼。setStatus 方法接受一個 int(狀態(tài)碼)作為參數。如果您的反應包含了一個特殊的狀態(tài)碼和文檔,請確保在使用 PrintWriter 實際返回任何內容之前調用 setStatus。 |
| 2 | public void sendRedirect(String url) 該方法生成一個 302 響應,連同一個帶有新文檔 URL 的 Location 頭。 |
| 3 | public void sendError(int code, String message) 該方法發(fā)送一個狀態(tài)碼(通常為 404),連同一個在 HTML 文檔內部自動格式化并發(fā)送到客戶端的短消息。 |
HTTP 狀態(tài)碼實例
下面的例子把 407 錯誤代碼發(fā)送到客戶端瀏覽器,瀏覽器會顯示 "Need authentication!!!" 消息。
// 導入必需的 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);
}
}
現(xiàn)在,調用上面的 Servlet 將顯示以下結果:
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 |
本文題目:創(chuàng)新互聯(lián)Servlet教程:ServletHTTP狀態(tài)碼
網站URL:http://m.5511xx.com/article/djggphh.html


咨詢
建站咨詢
