當前位置:首頁 > IT技術(shù) > Web編程 > 正文

測試開發(fā)進階——Servlet ——Servlet HTTP 狀態(tài)碼
2021-09-23 14:02:49

HTTP 請求和 HTTP 響應(yīng)消息的格式是類似的,結(jié)構(gòu)如下:

?

  • 初始狀態(tài)行 + 回車換行符(回車+換行)
  • 零個或多個標題行+回車換行符
  • 一個空白行,即回車換行符
  • 一個可選的消息主體,比如文件、查詢數(shù)據(jù)或查詢輸出

?

?

?

?

?

?

狀態(tài)行包括 HTTP 版本(在本例中為 HTTP/1.1)、一個狀態(tài)碼(在本例中為 200)、一個對應(yīng)于狀態(tài)碼的短消息(在本例中為 OK)。

?

以下是可能從 Web 服務(wù)器返回的 HTTP 狀態(tài)碼和相關(guān)的信息列表:

?

?

?

?

?

?

?

?

?

設(shè)置 HTTP 狀態(tài)代碼的方法

下面的方法可用于在 Servlet 程序中設(shè)置 HTTP 狀態(tài)碼。這些方法通過?HttpServletResponse?對象可用。

?

序號方法 & 描述
1

public void setStatus ( int statusCode )

?

?

該方法設(shè)置一個任意的狀態(tài)碼。setStatus 方法接受一個 int(狀態(tài)碼)作為參數(shù)。

?

如果您的響應(yīng)包含了一個特殊的狀態(tài)碼和文檔,請確保在使用?PrintWriter?實際返回任何內(nèi)容之前調(diào)用 setStatus。

2

public void sendRedirect(String url)

?

該方法生成一個 302 響應(yīng),連同一個帶有新文檔 URL 的?Location?頭。

3

public void sendError(int code, String message)

?

該方法發(fā)送一個狀態(tài)碼(通常為 404),連同一個在 HTML 文檔內(nèi)部自動格式化并發(fā)送到客戶端的短消息。

?

?

?

?

HTTP 狀態(tài)碼實例

?

下面的例子把 407 錯誤代碼發(fā)送到客戶端瀏覽器,瀏覽器會顯示 "Need authentication!!!" 消息。

?

?

// 導(dǎo)入必需的 java 庫
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import javax.servlet.annotation.WebServlet;

@WebServlet("/showError")
// 擴展 HttpServlet 類
public class showError extends HttpServlet
{ // 處理 GET 方法請求的方法 public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
// 設(shè)置錯誤代碼和原因 response.sendError(407, "Need authentication!!!" );
}


// 處理 POST 方法請求的方法 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{ doGet(request, response); } }

  

?

?

?

?

現(xiàn)在,調(diào)用上面的 Servlet 將顯示以下結(jié)果:

?

?

?

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >