doGet是處理客戶端發來的Get請求,doPost是處理客戶端發來的Post請求,它們的區別可以從以下7個方面來說明:
1、客戶端(一般指瀏覽器)生成的方式get:form中method屬性為get時;或者直接在URL位址列中輸入URL,需要傳遞引數時,直接在URL後面拼接“?name=張三&age=18”這樣的查詢引數字串;post:form中method屬性為post。
2、客戶端資料傳送方式get:表單資料存放在URL地址後面。所有get方式提交時HTTP中沒有訊息體;post:表單資料存放在HTTP協議的訊息體中以實體的方式傳送到伺服器。
3、伺服器獲取資料方式get:伺服器採用Servlet中的doGet來獲取變數的值;post:伺服器採用Servlet中的doPost來獲取資料。
4、傳輸的資料量get:資料量長度有限制,一般不超過2kb。因為是引數傳遞,且在位址列中,故資料量有限制;post:適合大規模的資料傳送。因為是以實體的方式傳送的。
5、安全性get:安全性差。因為是直接將資料顯示在位址列中,瀏覽器有緩衝,可記錄使用者資訊。所以安全性低;post:安全性高。因為post方式提交資料時是採用的HTTP post機制,是將表單中的欄位與值放置在HTTP HEADER內一起傳送到ACTION所指的URL中,使用者是看不見的。
doGet是處理客戶端發來的Get請求,doPost是處理客戶端發來的Post請求,它們的區別可以從以下7個方面來說明:
1、客戶端(一般指瀏覽器)生成的方式get:form中method屬性為get時;或者直接在URL位址列中輸入URL,需要傳遞引數時,直接在URL後面拼接“?name=張三&age=18”這樣的查詢引數字串;post:form中method屬性為post。
2、客戶端資料傳送方式get:表單資料存放在URL地址後面。所有get方式提交時HTTP中沒有訊息體;post:表單資料存放在HTTP協議的訊息體中以實體的方式傳送到伺服器。
3、伺服器獲取資料方式get:伺服器採用Servlet中的doGet來獲取變數的值;post:伺服器採用Servlet中的doPost來獲取資料。
4、傳輸的資料量get:資料量長度有限制,一般不超過2kb。因為是引數傳遞,且在位址列中,故資料量有限制;post:適合大規模的資料傳送。因為是以實體的方式傳送的。
5、安全性get:安全性差。因為是直接將資料顯示在位址列中,瀏覽器有緩衝,可記錄使用者資訊。所以安全性低;post:安全性高。因為post方式提交資料時是採用的HTTP post機制,是將表單中的欄位與值放置在HTTP HEADER內一起傳送到ACTION所指的URL中,使用者是看不見的。