Web開發 請求響應亂碼

2021-09-11 02:08:11 字數 1817 閱讀 9559

主要是因為tomcat預設的伺服器端編碼是iso-8859-1,因此使用者請求伺服器時,常出現亂碼

1.get請求方式中文亂碼解決

解決方案

① 修改tomcat預設的編碼方式為"utf-8"

② 分別對請求行的漢字進行編碼和解碼

1)修改配置檔案

在tomcat的server.xml裡把

修改為

2)對請求行進行編譯碼

例如來自頁面的乙個get請求:

window.location.href =

getcontextpath()

+"/manage/user/detail?name="

+encodeuri

(encodeuri

("小明"))

;

服務端:

string name = request.

getparameter

("name");

orgname = urldecoder.

decode

(name,

"utf-8"

);

通過encodeuri進行編碼,通過urldecoder的decode方法進行解碼

2.post請求方式中文亂碼解決

方案1

request.

setcharacterencoding

("utf-8"

);

方案2:(配置字元過濾器)

>

>

字符集過濾器description

>

>

encodingfilterfilter-name

>

>

org.springframework.web.filter.characterencodingfilter

filter-class

>

>

>

字符集編碼description

>

>

encodingparam-name

>

>

utf-8param-value

>

init-param

>

filter

>

>

>

encodingfilterfilter-name

>

>

/*url-pattern

>

>

web請求和響應亂碼

通常情況下,在對瀏覽器做出響應的同時,會設定字元編碼,因為預設的編碼是gbk或則iso 8859 1,那麼瀏覽器輸出中文時,會顯示亂碼,所以需要設定中文的字元編碼格式,這裡有兩種 response.setcontenttype txxt html charset utf 8 response.set...

Web請求和響應

webrequest是個抽象類 不能例項化。webrequest是類裡有個返回值為webrequest型別的靜態方法create string requesturistring webrequest request webrequest.create 發出乙個請求 webresponse respo...

完整的web請求與響應

當我們在瀏覽器的位址列輸入 www.linux178.com 然後回車,回車這一瞬間到看到頁面到底發生了什麼呢?整個流程如下 1 網域名稱解析 2 發起tcp的3次握手 3 建立tcp連線後發起http請求 4 伺服器響應http請求,瀏覽器得到html 5 瀏覽器解析html 並請求html 中的...