参数传递中编码问题(Get/Post 方式)(三)

自己总结的:
     GET方式:
      1、提交方式为GET时,数据是放在请求HEADER头中的,且将数据与URL拼接后,浏览器会对拼接后的url进行编码,编码方式为浏览器默认的编码,
      2、然后再向服务器发送请求,服务器在进行解码,并且GET方式不会向服务器端传送编码方式
      3、请求得到响应后,服务器再将结果数据进行编码,编码方式为服务器设定的编码
      4、客户端得到结果数据后,在进行解码;
    
      POST方式:
      1、提交方式为POST时,数据是放在请求BODY体中,客户端根据网页的ContentType("text/html; charset=UTF-8")的进行编码
      2、然后发送到服务器,在服务器端的程序中我们可以通过Request.setCharacterEncoding() 设置编码,
         然后通过request.getParameter获得正确的数据。
        
      注意:对于GET方式,服务器端的程序中我们无法通过Request.setCharacterEncoding()设置编码
            TOMCAT默认缺省用的是 ISO-8859-1
            通过<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>进行更改
          
       客户端浏览器或者应用程序中的JSP页面--》SERVLET服务器--》 两者编码要一致直,整个项目中编码方式要保持一致
       有的浏览器总是以UTF-8的编码方式进行编码,高级浏览器已取消此限制,如FIREFOX等

posted @ 2014-02-18 11:55  举个栗子  阅读(1948)  评论(0编辑  收藏  举报