教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java設置響應消息頭字段的方法是什么?

更新時間:2021年03月29日17時27分 來源:傳智教育 瀏覽次數:

傳智教育-一樣的教育,不一樣的品質


當Servlet向客戶端回送響應消息時,由于HTTP協議的響應頭字段有很多種,為此,在HttpServletResponse接口中,定義了一系列設置HTTP響應頭字段的方法,如表1所示。

表1 設置響應消息頭字段的方法

方法聲明 功能描述
void addHeader(String name, String value) 這兩個方法都是用來設置HTTP協議的響應頭字段,其中,參數name用于指定響應頭字段的名稱,參數value用于指定響應頭字段的值。不同的是,addHeader()方法可以增加同名的響應頭字段,而setHeader()方法則會覆蓋同名的頭字段
void setHeader(String name, String value)
void addIntHeader(String name,int value) 這兩個方法專門用于設置包含整數值的響應頭。避免了使用addHeader()與setHeader()方法時,需要將int類型的設置值轉換為String類型的麻煩
void setIntHeader(String name,int value)
void setContentLength(int len) 該方法用于設置響應消息的實體內容的大小,單位為字節(jié)。對于HTTP協議來說,這個方法就是設置Content-Length響應頭字段的值
void setContentType(String type) 該方法用于設置Servlet輸出內容的MIME類型,對于HTTP協議來說,就是設置Content-Type響應頭字段的值。例如,如果發(fā)送到客戶端的內容是jpeg格式的圖像數據,就需要將響應頭字段的類型設置為“image/jpeg”。需要注意的是,如果響應的內容為文本,setContentType()方法的還可以設置字符編碼,如:text/html;charset=UTF-8
void setLocale(Locale loc) 該方法用于設置響應消息的本地化信息。對HTTP來說,就是設置Content-Language響應頭字段和Content-Type頭字段中的字符集編碼部分。需要注意的是,如果HTTP消息沒有設置Content-Type頭字段,setLocale()方法設置的字符集編碼不會出現在HTTP消息的響應頭中,如果調用setCharacterEncoding()或setContentType()方法指定了響應內容的字符集編碼,setLocale()方法將不再具有指定字符集編碼的功能
void setCharacterEncoding(String charset) 該方法用于設置輸出內容使用的字符編碼,對HTTP 協議來說,就是設置Content-Type頭字段中的字符集編碼部分。如果沒有設置Content-Type頭字段,setCharacterEncoding方法設置的字符集編碼不會出現在HTTP消息的響應頭中。setCharacterEncoding()方法比setContentType()和setLocale()方法的優(yōu)先權高,它的設置結果將覆蓋setContentType()和setLocale()方法所設置的字符碼表

需要注意的是,在表1列舉的一系列方法中,其中addHeader()、setHeader()、addIntHeader()、setIntHeader()方法都是用于設置各種頭字段的。另外,setContetType()、setLoacale()和setCharacterEncoding()方法用于設置字符編碼,這些方法可以有效解決亂碼問題。


猜你喜歡:

spring5.0響應式編程入門

Java培訓之HTTP協議詳解之響應

Java培訓之response響應字節(jié)數據

傳智教育JAVA培訓

0 分享到:
和我們在線交談!