首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

JSP 中 HTTP 狀態碼完整指南與實作範例

     編輯:Java 綜合教學

HTTP 狀態碼核心概念

HTTP 請求與回應的結構高度相似,皆由以下四個部分組成:

  • 狀態行 + CRLF(換行符)
  • 零行或多行標頭欄位 + CRLF
  • 一個空行(即 CRLF)
  • 可選的訊息主體(如檔案、查詢資料、查詢輸出)

伺服器回應標頭範例

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...

<!doctype ...>
<html>
<head>...</head>
<body> ... </body>
</html>

狀態行包含 HTTP 版本、狀態碼,以及對應的簡短訊息。下表整理了伺服器常見的 HTTP 狀態碼與說明:

狀態碼訊息描述
100Continue僅部分請求被接收,若未被拒絕,客戶端應繼續請求
101Switching Protocols伺服器切換協定
200OK請求成功
201Created請求完成,新資源已建立
202Accepted請求已接受,但尚未處理完成
203Non-authoritative Information非授權資訊
204No Content無內容回應
205Reset Content重置內容
206Partial Content部分內容
300Multiple Choices提供超連結清單供用戶選擇,最多支援 5 個
301Moved Permanently請求頁面永久移動至新 URL
302Found請求頁面暫時移動至新 URL
303See Other請求頁面可在不同 URL 找到
304Not Modified內容未修改
305Use Proxy需使用 Proxy
306Unused已棄用,但保留狀態碼
307Temporary Redirect暫時重導向
400Bad Request伺服器無法識別請求
401Unauthorized需要使用者名稱與密碼
402Payment Required保留狀態碼,目前未使用
403Forbidden禁止存取
404Not Found找不到請求頁面
405Method Not Allowed請求方法不被允許
406Not Acceptable伺服器只能產生客戶端無法接受的回應
407Proxy Authentication Required需先驗證 Proxy 伺服器
408Request Timeout請求逾時,連線中斷
409Conflict請求衝突
410Gone請求頁面不再可用
411Length Required缺少 Content-Length,伺服器拒絕請求
412Precondition Failed前置條件判斷為 false
413Request Entity Too Large請求實體過大
414Request-URI Too LongURL 過長,常見於 POST 轉 GET 附帶大量查詢參數
415Unsupported Media Type媒體類型不支援
417Expectation Failed期望失敗
500Internal Server Error伺服器內部錯誤
501Not Implemented伺服器不支援所需功能
502Bad Gateway上游伺服器回應無效
503Service Unavailable服務暫時不可用
504Gateway Timeout閘道逾時
505HTTP Version Not Supported不支援的 HTTP 版本

設定 HTTP 狀態碼的方法

HttpServletResponse 類別提供以下方法設定狀態碼:

#方法說明
1public void setStatus(int statusCode)設定任意狀態碼。若回應包含特殊狀態碼與文件,務必在使用 PrintWriter 輸出內容前呼叫此方法
2public void sendRedirect(String url)產生 302 回應,並附帶 Location 標頭指向新文件
3public void sendError(int code, String message)將狀態碼(通常為 404)與簡短訊息自動嵌入 HTML 文件並回傳給客戶端

HTTP 狀態碼程式範例

以下範例示範如何傳送 407 錯誤碼,瀏覽器將顯示「Need authentication!!!」:

<html>
<head>
<title>Setting HTTP Status Code</title>
</head>
<body>
<%
    // 設定錯誤代碼與原因
    response.sendError(407, "Need authentication!!!");
%>
</body>
</html>

您也可以嘗試其他狀態碼,觀察不同的回應行為。

原文連結:https://www.manongjc.com/jsp/jsp_http_status.html

JSP 相關學習資源

  • JSP 教學
  • JSP 簡介
  • JSP 開發環境建置
  • JSP 架構
  • JSP 生命週期
  • JSP 語法
  • JSP 指令
  • JSP 動作元素
  • JSP 隱含物件
  • JSP 客戶端請求
  • JSP 伺服器回應
  • JSP HTTP 狀態碼
  • JSP 表單處理
  • JSP 過濾器
  • JSP Cookies 處理
  • JSP Session
  • JSP 檔案上傳
  • JSP 日期處理
  • JSP 標準標籤庫(JSTL)
  • JSP 連接資料庫
  • JSP XML 資料處理
  • JSP JavaBean
  • JSP 自訂標籤
  • JSP 表達式語言
  • JSP 例外處理
  • JSP 除錯
  • JSP 國際化
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved