method get 和 set區別

據網上搜集到的信息:
區別1:
METHOD="{GET,POST}":設置表單數據傳送給表單處理程序的方法,當METHOD="GET"時,表單數據會被存在環境變量query_string中,表單處理程序可由此變量取得表單數據;當METHOD="POST"時,表單數據程序可由標準輸入stdin取得表單數據,而表單數據的長度則記錄在環境變量Content_Length中。
一般不應該把數據存在環境變量query_string中,query_string對字符長度限制很苛刻的
1024個字節是url的極限長度
應該選擇post提交表單

說白了就是:post就是提交一些信息量大的數據,get相反

區別2:

get的信息可以在URL中看到(request.querystring)

post的看不到(request.form)

區別3:

post 是將所有表單中的信息通通提交,而get是從表單中獲取個別自己想要的信息

區別4:

get 請求表示客戶端請求一個uri,服務器返回客戶端請求的uri,post請求表示客戶端請求的時候還要提交數據,比喻提交form表單,要提交的數據會放到請求報文的body部分。服務器收到後這樣的請求後通常需要來處理這些數據。
應聘j2ee開發時問這個問題說明提問着的重點是服務器對這兩種請求的處理有什麼不同,而不是這兩種請求的報文有什麼不同。當然作爲一個jsp servlet的開發者一般你是不會感覺到着兩種請求有什麼不同的,因爲web服務器已經對這些請求進行處理了,web服務器調用相應的 jsp/servlet來響應客戶端請求的時候,對於post的請求,web服務器已經把客戶端提交的數據取出來,添到request對象中去了。不過,對於get、post的請求servlet 的 doGet、 doPost方法會被響應調用。也就是說如果客戶端送來的是一個get的請求,那麼你寫到servlet中的dopost()方法中的代碼是不會執行的,反之如果是post的請求,寫在doget()中代碼是不會被調用的(對於所有方式的請求,寫在doservice的代碼是會被調用的,因爲在HttpServlet類中doGet doPost的請求都是由doService來分發的,具體的看關於servlet的生命週期介紹)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章