HttpServelt 是一個抽象類,它位於包“javax.servlet.http.HttpServlet”下。要創建 servlet,該類必須擴展 HttpServlet 類並至少重寫其方法之一(doGet、doPost、doDelete、doPut)。 HttpServlet 類擴展了 GenericServlet 類並實現了 Serialized 接口。
HttpServlet 類的構造函數
HttpServlet()
這是一個抽象類,因此構造函數不執行任何操作。
Methods of HttpServlet Class
1.doGet()方法
- 該方法用於在服務器端處理GET請求。
- 此方法還自動支持 HTTP HEAD(HEAD 請求是一個 GET 請求,響應中不返回任何人)請求。
- GET類型請求通常用於預處理一個要求。
修飾符和類型:受保護的無效
用法:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request -一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response -一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
異常:
- IO異常-如果 servlet 處理 GET 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 GET 請求。
2.doPost()方法
- 該方法用於在服務器端處理POST請求。
- 該方法允許客戶端一次向網絡服務器發送無限長度的數據。
- POST類型請求通常用於post-process請求。
修飾符和類型:受保護的無效
用法:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request - 一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response -一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
拋出:
- IO異常-如果 servlet 處理 POST 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 POST 請求。
3.doHead()方法
- 重寫此方法來處理 HEAD 請求。
- 在此方法中,響應僅包含標頭,但不包含消息正文。
- 該方法用於提高性能(避免計算響應體)。
修飾符和類型:受保護的無效
用法:
protected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request -一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response -一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
異常:
- IO異常-如果 servlet 處理 HEAD 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 HEAD 請求。
4.doPut()方法
- 重寫此方法來處理 PUT 請求。
- 該方法允許客戶端將信息存儲在服務器上(將圖像文件保存在服務器上)。
- 服務器(通過服務方法)調用此方法來處理 PUT 請求。
修飾符和類型:受保護的無效
用法:
protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request -一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response - 一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
拋出:
- IO異常-如果 servlet 處理 PUT 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 PUT 請求。
5.doDelete()方法
- 重寫此方法以處理 DELETE 請求。
- 此方法允許客戶端從服務器刪除文檔或網頁。
- 使用此方法時,將受影響的 URL 的副本保存在臨時存儲中可能會很有用,以避免數據丟失。
修飾符和類型:受保護的無效
用法:
protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request - 一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response -一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
異常:
- IO異常-如果 Servlet 處理 DELETE 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 DELETE 請求。
6.doOptions()方法
- 重寫此方法以處理 OPTIONS 請求。
- 該方法用於確定服務器支持哪些 HTTP 方法並返回適當的標頭。
修飾符和類型:受保護的無效
用法:
protected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request -一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response -一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
異常:
- IO異常-如果 servlet 處理 OPTIONS 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 OPTIONS 請求。
7.doTrace()方法
- 重寫此方法來處理 TRACE 請求。
- 此方法將 TRACE 請求發送的標頭返回給客戶端,以便它們可以在調試中使用。
修飾符和類型:受保護的無效
用法:
protected void doTrace(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request - 一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response - 一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
異常:
- IO異常-如果 servlet 處理 TRACE 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 TRACE 請求。
8.getLastModified()方法
- 此方法返回 HttpServletRequest 對象上次修改的時間。
- 如果時間未知,該方法將返回負數。
- 這種方法使瀏覽器和代理緩存更有效地工作。
- 還減少了服務器和網絡資源的負載。
修飾符和類型:保護長
用法:
protected long getLastModified(HttpServletRequest request)
參數:要求 -一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
9.service()方法
該方法接收來自公眾的標準 HTTP 請求服務方法並將它們分派給做XXX此類中定義的方法。
修飾符和類型:受保護的無效
用法:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
參數:
- request -一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response -一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
異常:
- IO異常-如果 servlet 處理 HTTP 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 HTTP 請求。
10.service()方法
該方法用於將客戶端請求分派給公共服務方法。
修飾符和類型:公共空白
用法:
public void service(ServletRequest request,ServletResponse response) throws ServletException,IOException
參數:
- request -一個 HttpServletRequest 對象,其中包含客戶端對 servlet 發出的請求。
- response -一個 HttpServletResponse 對象,其中包含 servlet 發送到客戶端的響應。
異常:
- IO異常-如果 servlet 處理 HTTP 請求時檢測到輸入或輸出錯誤。
- ServletException -用於處理 HTTP 請求。
例子:
Java
package com.gfg;
import javax.servlet.*;
import javax.servlet.http.*;
// here GFGServlet class inherit HttpServlet
public class GFGServlet extends HttpServlet {
// we are defining the doGet method of HttpServlet
// abstract class
public void doGet(HttpServletRequest rq,
HttpServletResponse rs)
{
// here user write code to handle doGet request
}
// we are defining the doPost method of HttpServlet
// abstract class
public void doPost(HttpServletRequest rq,
HttpServletResponse rs)
{
// here user write code to handle doPost request
}
} // class ends
Note: This is server-side code, it is only for clarification on how to use HttpServlet class.
相關用法
- Java HashMap clear()用法及代碼示例
- Java HashMap clone()用法及代碼示例
- Java HashMap isEmpty()用法及代碼示例
- Java HashMap size()用法及代碼示例
- Java HashMap put()用法及代碼示例
- Java HashMap putAll()用法及代碼示例
- Java HashMap putIfAbsent()用法及代碼示例
- Java HashMap remove()用法及代碼示例
- Java HashMap containsKey()用法及代碼示例
- Java HashMap containsValue()用法及代碼示例
- Java HashMap replace()用法及代碼示例
- Java HashMap replaceAll()用法及代碼示例
- Java HashMap get()用法及代碼示例
- Java HashMap getOrDefault()用法及代碼示例
- Java HashMap forEach()用法及代碼示例
- Java HashMap entrySet()用法及代碼示例
- Java HashMap keySet()用法及代碼示例
- Java HashMap values()用法及代碼示例
- Java HashMap merge()用法及代碼示例
- Java HashMap compute()用法及代碼示例
- Java HashMap computeIfAbsent()用法及代碼示例
- Java HashMap computeIfPresent()用法及代碼示例
- Java Hashtable entrySet()用法及代碼示例
- Java Hashtable equals()用法及代碼示例
- Java Hashtable hashCode()用法及代碼示例
注:本文由純淨天空篩選整理自sharmaharsh_05大神的英文原創作品 HttpServlet Class In Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。