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方式向頁面發送請求資料(如資料含有Unsafe 字元,則瀏覽器先將其轉換成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 " !