Request部分知識點小結

2022-09-07 04:06:10 字數 3114 閱讀 1959

* 概念:hyper text transfer protocol 超文字傳輸協議

* 傳輸協議:定義了,客戶端和伺服器端通訊時,傳送資料的格式

* 特點:

1. 基於tcp/ip的高階協議

2. 預設埠號:80

3. 基於請求/響應模型的:一次請求對應一次響應

4. 無狀態的:每次請求之間相互獨立,不能互動資料

* 歷史版本:

* 1.0:每一次請求響應都會建立新的連線

* 1.1:復用連線

* 請求訊息資料格式

1. 請求行

請求方式      請求url       請求協議/版本

* 請求方式:

* http協議有7中請求方式,常用的有2種

* get:

1. 請求引數在請求行中,在url後。

2. 請求的url長度有限制的

3. 不太安全

* post:

1. 請求引數在請求體中

2. 請求的url長度沒有限制的

3. 相對安全

2. 請求頭:客戶端瀏覽器告訴伺服器一些資訊

請求頭名稱: 請求頭值

* 常見的請求頭:

1. user-agent:瀏覽器告訴伺服器,我訪問你使用的瀏覽器版本資訊

* 可以在伺服器端獲取該頭的資訊,解決瀏覽器的相容性問題

* 告訴伺服器,我(當前請求)從**來?

* 作用:

1. 防盜煉:

2. 統計工作:

如圖所示其作用:

3.  請求空行,就是用於分割post請求的請求頭,和請求體的。

4. 請求體(正文):

* 封裝post請求訊息的請求引數的

request:

1. request物件和response物件的原理

1. request和response物件是由伺服器建立的。我們來使用它們

2. request物件是來獲取請求訊息,response物件是來設定響應訊息

2. request物件繼承體系結構:

servletrequest -- 介面

| 繼承

httpservletrequest -- 介面

| 實現

org.apache.catalina.connector.requestfacade 類(tomcat)

3. request功能:

1. 獲取請求訊息資料

1. 獲取請求行資料

* 方法:

1. 獲取請求方式 :get

* string getmethod()

2. (*)獲取虛擬目錄:/day14

* string getcontextpath()

3. 獲取servlet路徑: /demo1

* string getservletpath()

4. 獲取get方式請求引數:name=zhangsan

* string getquerystring()

5. (*)獲取請求uri:/day14/demo1

* url:統一資源定位符 : http://localhost/day14/demo1 中華人民共和國

* uri:統一資源識別符號 : /day14/demo1 共和國

6. 獲取協議及版本:http/1.1

* string getprotocol()

2. 再從流物件中拿資料

2. 其他功能:

1. 獲取請求引數通用方式:不論get還是post請求方式都可以使用下列方法來獲取請求引數

1. string getparameter(string name):根據引數名稱獲取引數值 username=zs&password=123

2. string getparametervalues(string name):根據引數名稱獲取引數值

的陣列 hobby=xx&hobby=game

3. enumerationgetparameternames():獲取所有請求的引數名稱

4. mapgetparametermap():獲取所有引數的map集合

* 中文亂碼問題:

* get方式:tomcat 8 已經將get方式亂碼問題解決了

* post方式:會亂碼

* 解決:在獲取引數前,設定request的編碼request.setcharacterencoding("utf-8");

2. 請求**:一種在伺服器內部的資源跳轉方式

1. 步驟:

1. 通過request物件獲取請求**器物件:

requestdispatcher getrequestdispatcher(string path)

2. 使用requestdispatcher物件來進行**:

forward(servletrequest request, servletresponse response)

3. 共享資料:

* 域物件:乙個有作用範圍的物件,可以在範圍內共享資料

* request域:代表一次請求的範圍,一般用於請求**的多個資源中共享資料

* 方法:

1. void setattribute(string name,object obj):儲存資料

2. object getattitude(string name):通過鍵獲取值

3. void removeattribute(string name):通過鍵移除鍵值對

4. 獲取servletcontext:

* servletcontext getservletcontext()

iOS 部分知識點小結

目錄 1.block的基本使用 2.scrollview的底層實現 3.bounds和frame簡介 4.assign和weak的區別 5.列舉中的位運算 6.size和center 7.通知的補充 8.通知多執行緒使用 block的基本使用 scrollview的底層實現 bounds和frame...

執行緒相關部分知識點小結

一 callable和runnable的區別 1 callable規定的方法時call,runnable規定的方法時run,其中實現runnable介面的類需要通過thread類包裝後,在進行啟動 而callable一般交由executeservice來執行 2 callable執行任務後可返回值,...

Request知識點總結

1.獲得行的內容 request.getmethod request.getrequesturi request.getrequesturl request.getcontextpath 常用 request.getremoteaddr 2.獲得頭的內容 request.getheader name...