1. 程式人生 > >JSP中get和post方法的區別

JSP中get和post方法的區別

1、post提交資料是隱式的,get是通過在url裡面傳遞的(可以看一下你瀏覽器的位址列),用來傳遞一些不需要保密的資料。

2、用get時,傳輸資料的大小有限制 (注意不是引數的個數有限制),為2K;而post沒有此限制。

3、還有用GET的時候在SERVLET中要用DOGET方法,用POST就要用DOPOST方法。這是JSP在處理GET和POST的時候在JAVA 角度看的不同。

4、還有一點需要注意哦,通過get方式來獲取引數用的方法和通過post方式有些區別:

post:request.getParameter("");

get: request.QueryString("");

<注:用get方式提交時,我也用request.getParameter()來獲得傳遞的引數,儘管已經設定request.setCharacterEncoding(“utf-8”),但是得到的中文引數一直是亂碼。但我沒有用後種方式獲得引數,我是直接改為post,中文顯示就正常了。>

---------------------------------------------------------------

下面是從網上轉載的:

來源:http://topic.csdn.net/t/20010412/23/96108.html

當頁面上的FORM以GET方式向頁面傳送請求資料(如資料含有不安全字元,則瀏覽器先將其轉換成16進位制的字元再傳送,如空格被轉成%20時,WEB   SERVER 將請求資料放入一名為QUERY_STRING的環境變數中,QueryString 方法是從這一環境變數中取出相應的值,並將被轉成16進位制的字元還原(如  %20  被還原成空格)。

如表單上有一   name為username的文字框及一   name為password的文字框   ,   當表單提交時,會產生這樣的URL串:http://www.xxxxx.com/xxxx.asp?username=nnnnn& password=mmmmm
使用   Request.QueryString( "username")   會得到   字串   "nnnnn"
Request.QueryString( "password")   得到   "mmmmm "  !