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

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

Java設(shè)置響應(yīng)消息頭字段的方法是什么?

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

傳智教育-一樣的教育,不一樣的品質(zhì)


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

表1 設(shè)置響應(yīng)消息頭字段的方法

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

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


猜你喜歡:

spring5.0響應(yīng)式編程入門

Java培訓(xùn)之HTTP協(xié)議詳解之響應(yīng)

Java培訓(xùn)之response響應(yīng)字節(jié)數(shù)據(jù)

傳智教育JAVA培訓(xùn)

0 分享到:
和我們?cè)诰€交談!