get 請(qǐng)求的請(qǐng)求參數(shù)附在地址欄的url之后,post請(qǐng)求是通過http post 機(jī)制將表單各個(gè)字段及其內(nèi)容放在Html header 里面發(fā)送到所請(qǐng)..."/>
您好,登錄后才能下訂單哦!
首先 get,和 post 的區(qū)別:
1> get 請(qǐng)求的請(qǐng)求參數(shù)附在地址欄的url之后,post請(qǐng)求是通過http post 機(jī)制將表單各個(gè)字段及其內(nèi)容放在Html header 里面發(fā)送到所請(qǐng)求的action中
2>get 請(qǐng)求的數(shù)據(jù)量小,要小于2kb,
3>因?yàn)間et 請(qǐng)求會(huì)將請(qǐng)求參數(shù)以及內(nèi)容附在地址欄后面,所以不安全性會(huì)更高。
針對(duì)get 請(qǐng)求和post請(qǐng)求亂碼分析:
如果是get請(qǐng)求,服務(wù)器是由tomcat默認(rèn)的編碼格式,或者你設(shè)定的編碼格式去重新編碼,也就是說,這個(gè)編碼是由tomcat容器完成的。至于tomcat 是用那種編碼,分情況
1>.如果是tomcat7 以及以下版本,默認(rèn)的編碼格式是ISO- 8859-1,如果想改變默認(rèn)的編碼格式,在tomcat/conf/server.xml里面,修改為<Connector port="8080" protocol="HTTP/1.1"?
?????????????? connectionTimeout="20000"?
?????????????? redirectPort="8443" URIEncoding="UTF-8" />,如果你不想改這里,或者項(xiàng)目不允許動(dòng)配置,那么你只能在代碼中每次都要對(duì)請(qǐng)求參數(shù)自己進(jìn)行重新編碼了
2>.如果是tomcat8,那么默認(rèn)的編碼格式是urf-8,你如果頁面也是使用的utf-8(這個(gè)格式 是取決于你瀏覽器怎樣提交)提交,那么你完全什么都不用干
如果是post請(qǐng)求,你的請(qǐng)求參數(shù)是由request.setCharacterEncoding("UTF-8")來設(shè)置重新編碼格式的。也就是我們需要用代碼去解決。你可以在你的每個(gè)servlet中或者每個(gè)action中將這段代碼加進(jìn)去。為了方便,你可以寫個(gè)過濾器,讓每個(gè)請(qǐng)求都走一下過濾器。當(dāng)然,如果你用的是springMvc,或者struct2等框架,他們都有自帶的過濾器,直接在web.xml中進(jìn)行配置就好了。
以上針對(duì)中文亂碼的分析,只是針對(duì)于前臺(tái)向后臺(tái)提交數(shù)據(jù)的亂碼
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。