http get或者post請求獲取引數

2021-07-26 15:25:32 字數 1017 閱讀 5365

1.getquerystring()

只適用於get,比如客戶端傳送http://localhost/testservlet?a=b&c=d&e=f,

通過request.getquerystring()得到的是a=b&c=d&e=f.

2.getparameter()

get和post都可以使用

但如果是post請求要根據表單提交資料的編碼方式來確定能否使用.

對於傳輸大塊的二進位制數這類資料,瀏覽器採用了另一種編碼方式("multipart/form-data"),這時就需要使用下面的兩種方法.

3.getinputstream()

4.getreader()

上面兩種方法獲取的是http請求包的包體,因為get方式請求一般不包含包體.所以上面兩種方法一般用於post請求獲取引數.

需要注意的是:

request.getparameter()、 request.getinputstream()、request.getreader()這三種方法是有衝突的,因為流只能被讀一次。

比如:再呼叫request.getinputstream()或request.getreader()已經得不到流中的內容,

因為在呼叫 request.getparameter()時系統可能對表單中提交的資料以流的形式讀了一次,反之亦然。

當form表單內容採用 enctype=multipart/form-data編碼時,即使先呼叫request.getparameter()也得不到資料,

所以這時呼叫request.getparameter()方法對 request.getinputstream()或request.getreader()沒有衝突,

即使已經呼叫了 request.getparameter()方法也可以通過呼叫request.getinputstream()或request.getreader()得到表單中的資料,

而request.getinputstream()和request.getreader()在同乙個響應中是不能混合使用的,如果混合使用就會拋異常。

http get與post請求區別

1 http請求格式 在http請求中,第一行必須是乙個請求行 request line 用來說明請求型別 要訪問的資源以及使用的http版本。緊接著是乙個首部 header 小節,用來說明伺服器要使用的附加資訊。在首部之後是乙個空行,再此之後可以新增任意的其他資料 稱之為主體 body 2 get...

http get和post請求的區別

get和post請求都是http的請求方式,具體點來講get一般用於獲取 查詢資源資訊,而post一般用於更新資源資訊。1 get請求提交的資料會在位址列顯示出來,而post請求不會再位址列顯示出來.get提交,請求的資料會附在url之後 就是把資料放置在http協議頭中 以?分割url和傳輸資料,...

http get和post請求的區別

get和post都是http請求的方式,get一般用於資源資訊的獲取,post一般用於資源資訊的更新操作。主要區別在於get請求提交的資料會在位址列顯示出來,而post請求不會再位址列顯示出來。get請求提交的資料會附著在url之後,用?分割開來,多個資料傳參的話使用 連線符,這個存在的問題就是傳參...