Http響應Response詳解

2021-09-02 17:52:38 字數 2288 閱讀 9710

在建立servlet時會覆蓋service()方法,或doget()/dopost(),這些方法都有兩個引數,乙個為代表請求的request和代表響應response。service方法中的response的型別是servletresponse,而doget/dopost方法的response的型別是httpservletresponse,httpservletresponse是servletresponse的子介面,功能和方法更加強大。

類似於請求訊息中的請求頭,其格式和請求頭資訊格式一樣,即響應頭:響應頭值。

1). server :該響應頭是伺服器告訴瀏覽器,當前響應的服務型別和版本。

2). content-type響應頭:伺服器告訴瀏覽器響應內容是什麼型別,以及採用的是什麼字元編碼。該響應頭的值現在為:text/html;charset=utf-8。說明響應資訊的型別是文字型別中的html,使用的字元編碼是utf-8。

3). content-length響應頭:伺服器告訴瀏覽器,content-length響應頭表明了響應實體的大小,該響應內容的長度現在是312個位元組。

4). date響應頭:表示是伺服器是在什麼時候響應回瀏覽器,注意這裡的時間是按照美國時間來計算。

6). last-modified:伺服器上檔案的最後修改時間

response 代表響應, 可以通過該物件分別設定http響應: 響應行  響應頭  響應體

(其中,add表示新增,而set表示設定)                 

addheader(string name, string value) 

addintheader(string name, int value)

adddateheader(string name, long date)

setheader(string name, string value)

setdateheader(string name, long date)

setintheader(string name, int value)

響應體設定文字

printwritergetwriter()

獲得字元流,通過字元流的write(strings)方法可以將字串設定到response   緩衝區中,隨後tomcat會將response緩衝區中的         內容組裝成http響應返回給瀏覽    器端。

關於設定中文的亂碼問題

原因:response

緩衝區的預設編碼是iso8859-1,此碼表中沒有中文,可以通過  response的setcharacterencoding(stringcharset)設定response的編碼

但我發現客戶端還是不能正常顯示文字

原因:我們將response緩衝區的編碼設定成utf-8,但瀏覽器的預設編碼是本地系 統的編碼,因為我們都是中文系統,所以客戶端瀏覽器的預設編碼是gbk,我們可以  手動修改瀏覽器的編碼是utf-8。

還可以在**中指定瀏覽器解析頁面的編碼方式,

通過response的setcontenttype(stringtype)方法指定頁面解析時的編碼是utf-8

response.setcontenttype("text/html;charset=utf-8");

上面的**不僅可以指定瀏覽器解析頁面時的編碼,同時也內含   setcharacterencoding的功能,所以在實際開發中只要編寫response.setcontenttype("text/html;charset=utf-8");就可以解決頁面輸出中文亂碼問題。

響應頭設定位元組

servletoutputstreamgetoutputstream()

獲得位元組流,通過該位元組流的write(byte bytes)可以向response緩衝區中寫入字 節,在由tomcat伺服器將位元組內容組成http響應返回給瀏覽器。

HTTP原理(六) 響應(Response)

response,即響應,由服務端返回給客戶端。response 可以劃分為三部分,responsestatus code response headers response body。響應狀態碼,此狀態碼表示了伺服器的響應狀態,如 200 則代表伺服器正常響應,404 則代表頁面未找到,500 則...

response操作http響應 三

1.response物件,它是在service方法中接收到的。當瀏覽器訪問伺服器中的web工程的時候,伺服器幫助將request,response建立並傳遞到service方法的引數中。我們不需要考慮建立過程,只需要考慮怎麼用。response物件操作http響應 http響應分為三部分,響應狀態行...

Response響應相關

response是響應的物件 response.text 返回的是位元組,資料的原內容 response.content 返回的是字串,預設是utf 8解碼 import requests response requests.get t1 response.text 返回是str型別的資料 t2 r...