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

JSP檔案中的get和post方式區別

1:請求資料的大小不同。
因為get請求的資料是要追加到URL中,而URL的資料量一般不能超過2K,所以用get請求的方法對資料的大小有限制。而post請求方法是把資料放在訊息體中,所以理論上對資料量沒有限制。(但是實際操作中也不能能太大)
2:安全性不一樣
因為get請求的資料是追加在URL中,外部使用者能很方便的看到,從這個角度上來講不安全。而post方法因為是講請求放在訊息體中,不會直接在URL中顯示所以從這個角度來說資料會比較安全。
3:書籤建立
get請求可以建立書籤;post請求則不能。例如:假設你有一個頁面允許使用者指定搜尋規則。使用者可能一個星期之後才回來,想要得到原來的資料,但此時伺服器上已經有新的資料了。
4:方法的使用


get用於得到某些東西,只是簡單的獲取,不會對伺服器做任何的改變。post則使用者傳送資料來進行處理,可以修改伺服器上的資料。
5:請求是否冪等
get請求是冪等的,它只是要得到一些東西,不會修改伺服器上的內容。它能執行多次,而且不會產生任何不好的副作用。而post不是冪等的,post體中的提交的資料可能用於不可逆轉的事務。所以從這個角度上來看的話要慎重使用doPost()功能。
若表單中未指出method=“POST”,就會預設為HTTP GET請求。即預設狀態是呼叫get請求。
在學習JavaWeb最初的開始階段,大家都會遇到HttpServlet中的doGet和doPost方法。
(1)doGet方法:主要是處理Http中的Get請求
(2)doPost方法:主要是處理Http中的Post請求
那麼Get請求和Post請求到底有什麼樣的區別
(1)get只有一個流,引數附加在url後,大小個數有嚴格限制且只能是字串
例如,
http://localhost:8888/javaweb/getServlet?name=123

(2)post的引數是通過另外的流傳遞的,不通過url,所以可以很大,也可以傳遞二進位制資料,如檔案的上傳。
什麼時候使用doGet和doPost方法 :
1.通過表單提交到的servlet, 看form的method是get還是post
2.通過連結