Http的請求方式詳細介紹Get和Post


get方式:

  表單數據存放在URL地址后面。所有get方式提交時HTTP中沒有消息體。

  1、get請求實現方式: 

    1)直接在URL地址欄中輸入URL

    2)網頁中的超鏈接

    3)form中method為get

    4)form中method為空時,默認是get提交

 

post方式

  表單數據存放在HTTP協議的消息體中以實體的方式傳送到服務器。

 

傳送的數據量

  GET方式:數據量長度有限制,一般不超過2kb。因為是參數傳遞,且在地址欄中,故數據量有限制。

  POST方式:適合大規模的數據傳送。因為是以實體的方式傳送的。

安全性

  GET方式:安全性差。因為是直接將數據顯示在地址欄中,瀏覽器有緩沖,可記錄用戶信息。所以安全性低。  

  POST方式:安全性高。因為post方式提交數據時是采用的HTTP post機制,是將表單中的字段與值放置在HTTP HEADER內一起傳送到ACTION所指的URL中,用戶是看不見的。

 

服務端如何獲取:

  request提供的方法: 

    String getParameter(String paramName)

      paraName寫錯會返回null

      表單不填會返回空字符串

    String[] getParameterValues(String paramName)

      當需要獲取參數名相同的多個參數值時使用該方法,多用於獲取提交的表單中復選框的值

      參數名不存在時返回null

 

如何處理中文參數?

  表單提交時,瀏覽器會對中文參數值進行編碼。服務器端默認使用ISO-8859-1來解碼。注:瀏覽器會使用表單所在頁面打開時使用的字符集來編碼

    如果表單提交方式是get

      在servers配置文件的<connector>標簽內添加URIEncoding=“utf-8”

    如果表單提交方式是post

      request.setCharacterEncoding("utf-8"); 注:要加到所有的request.getParameter()前面

Servlet在瀏覽器輸出中文

   為什么會亂碼?

    out在輸出時默認使用iso-8859-1編碼

  如何解決?

    response.setContentType("text/html;charset=utf-8");       此句必須寫在PrintWriter對象聲明之前,親測。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM