1. 程式人生 > >servlet中get與post的區別

servlet中get與post的區別

什麼時候用get請求,什麼時候用post請求?

 get:a,瀏覽器的提交方式  b,超連結  c,表單提交的預設方式   post:a,表單提交的時候修改提交方式為post

1 get和post請求的區別:

  1.從安全的角度來說,post要比get相對安全,但不是絕對安全   get會將請求引數值直接寫在資源路徑後面,而post則是將請求引數   放在請求資料包的實體內容裡面

 2.從提交資料的大小來看,post提交的資料要大於get,因為get提交的資料型別  只能是字串型別,不能是圖片,視屏等等大容量資料,它的提交資料大小不能超過     4kb,但post沒有此限制,可以提交大量的資料。

 3.從處理資料的效率來說。get處理請求的效率要高於post請求   解決瀏覽器繪畫伺服器出現的中文亂碼問題:

  為什麼會出現亂碼?

因為編碼和解碼的字符集編碼不一致 ;

如何解決:

要看提交方式為get還是post  post:  request.setCharacterEncoding("utf-8");  response.setContentType("text/html;charset=utf-8");    get:     name=new String(name.getBytes("iso8859-1"),"utf-8");

4.重定向: 瀏覽器繪畫伺服器時,伺服器響應時返回一個302狀態碼,以及一個 Location訊息頭(要求瀏覽器重新發送一個新的地址重定向地址) 瀏覽器接收到之後,會立馬按location訊息頭要求的地址重新發送 新的地址
5如何重定向? 通過HttpSerletResponse物件來進行重定向; 語法:rsponse.sendRedirect(重定向url);重定向的特點: 1.重定向的地址可以是任意地址 2.重定向之後,位址列的地址會發生改變 3.重定向過程中涉及到的Web元件並不會共享同一個request和response物件