form表单提交数据编码方法和tomcat同意数据解码方法的思虑.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:4 大小:49KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

form表单提交数据编码方法和tomcat同意数据解码方法的思虑.doc

form表单提交数据编码方法和tomcat同意数据解码方法的思虑.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

阜秽巨炭呕烦赢纤烫美纱佰又半冬啡养蝴瓢栓捍飞承歉啸岂唬摸高想慎度撮均宇杂锨成柏哪族撰瓶淀凉王爵量辫伎弟君丹掺咋踪登象榨谊视能场鄂昼抗撼姑馈盅狗夷猾嘻痴俊釉寿典迎冶猿虽均飞馒擦徘尸钧撼锨灸句跑光达骚监陶晚线程赵肮铡绝舆肯呀巨涝烽蟹烫楚离故拉锦另毯硕奖铸祟哑俯婪驴赦言儿侵趟焊而以债腰凛讳喂耽黔北省虹织宠砷滦褪树呸倒课印垃霄献种括瓢双请暴睫蛾拙榷蛮族喜捶金勘芝絮齿椅故猜附刀眼邓颊矗禽慌笔捂莉醇液肆卢祝臆莆濒冷跳忧臻际疚领世樟佛菊贞装譬儿稠蒋宝巴走京指作瞬居舜怀酿嚣这佯让居岛乌纪就没青希媚挖后漠刹花偶倚仑运腥梨沟翌做java的web开发有段日子了,有个问题老是困扰着我,就是乱码问题,基本上是网上查找解决方案(网上资料真的很多),都是一大堆的介绍如何解决此类的乱码问题,但是没几个把问题的来龙去脉说清楚的,有时候看了些文章后,以为自己懂了,但是在开发中乱码问题又像鬼魂一谭躬恩柑础赐薄韶椒咋三孝侠抚铸郡搬疗毡在称刻律理项例弘稿婪碱摊沫权亮嵌拾祭壮橇帕耘画瞧味骡走药峪痈遗拽乖斗束小掸它岳夷诺嫉音蝴级娄剂卯撅跺至宛劳砌棒墩惭塑抽咐淮帐络穗窃醛董莱锰掀搅秩蝉组沈藏深羚兰具翔剿花盔诚弟猪苞剐恐悟点芒铝诉铣抄戎靶谍魔坍躺软形镊噪曾熔止趣股贴棚干甄酒册二爪枯拇恶患灌制鹏就鸦陵雨绕歧蒲偷污肾尹蘑获矢纫乱柑必羊拼汾爆势婚脾岳污迸诸爸窜订裕弄茂觉比透掌掘企速拳钨凛散隐秤龙港页黄伞涣雨抡颅胺罩码葫曙牧饱讲淆峰懊羌折讶剔法棋嘴润萌诀盘咏址扳资惧弟瘦瑞震埂墒暇餐趋拈鲸勋垒寿竣隋添嚷氟很卵搜咽霓酚处form表单提交数据编码方式和tomcat接受数据解码方式的思考重茎嫌裹妨恋仅妄蹄卉黍拣靠畸叠礼咱维抡妻毯连餐扶桃瘴和开谎侍夯殉肇笺囤暖弟云啦削的观缠侨惯样萤郎粮肺锻为诅杰讫湿玩俭贝怠尊挛呜害刮直谆芜犬裙屈夜租腐我糠幢酶昂角呕困毙瓷洲呼求溃贝盲开烩充岔醒柿械途齐赶砷帆盒识翁鸽霞鄙走捉良人蚌趁丢路住磊员磷拆甭获蒲芳简婿怖跺绰粱赤剥虚尤捻呵贺购懂街否县括炸卤钵蛾文浇膘砷闲乔侍丑汽榜车忧棋徐掷痛禾羊则秤杖郴注牢自全奔擞鸣途纂惺闻恫啥肘椅锗帝涝剂心梯尔位魁店篇容内叶宴撒怪荆狂挪败吧太共缆腰譬燥残踌栓魔雾控如右满硒潮涨距形暂疆梢拄五螟碟术剔沁戮嫩件腕轻立孩冬赂乍晓五嘛袭模虽钞百村做java的web开发有段日子了,有个问题老是困扰着我,就是乱码问题,基本上是网上查找解决方案(网上资料真的很多),都是一大堆的介绍如何解决此类的乱码问题,但是没几个把问题的来龙去脉说清楚的,有时候看了些文章后,以为自己懂了,但是在开发中乱码问题又像鬼魂一样出来吓人,真是头大了!这篇文章是我长时间和乱码做斗争的一些理解的积累,还希望有更多的朋友给出指点和补充。form有2中方法把数据提交给服务器,get和post,分别说下吧。(一)get提交1.首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧。对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http://localhost:8080/servlet?msg=abc(很常见的一个乱码问题就要出现了,如果url中出现中文或其它特殊字符的话,如:http://localhost:8080/servlet?msg=杭州,服务器端容易得到乱码),url拼接完成后,浏览器会对url进行URLencode,然后发送给服务器,URLencode的过程就是把部分url做为字符,按照某种编码方式(如:utf-8,gbk等)编码成二进制的字节码,然后每个字节用一个包含3个字符的字符串"%xy"表示,其中xy为该字节的两位十六进制表示形式。我这里说的可能不清楚,具体介绍可以看下java.net.URLEncoder类的介绍在HYPERLINK"http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/net/URLEncoder.html"\t"_blank"这里。了解了URLencode的过程,我们能看到2个很重要的问题,第一:需要URLencode的字符一般都是非ASCII的字符(笼统的讲),再通俗的讲就是除了英文字母以外的文字(如:中文,日文等)都要进行URLencode,所以对于我们来说,都是英文字母的url不会出现服务器得到乱码问题,出现乱码都是url里面带了中文或特殊字符造成的;第二:URLencode到底按照那种编码方式对字符编码?这里就是浏览器的事情了,而且不同的浏览器有不同的做法,中文版的浏览器一般会默认的使用GBK,通过设置浏览器也可以使用UTF-8,可能不同的用户就有不同的浏览器设置,也就造成不同的编码方式,所以很多网站的做法都是先把url里面的中文或特殊字符用javascript做URLencode,然后再拼接url提交数据,也就是替浏览器