美文网首页
Java程序员遇上字符乱码14-tomcat如何解析url编码的

Java程序员遇上字符乱码14-tomcat如何解析url编码的

作者: _Danniel_ | 来源:发表于2017-08-22 08:55 被阅读0次

从前面的介绍Url编码文章中,我们了解了浏览器发起请求的字符处理过程。现在开始介绍tomcat服务器对键值对进行Url解码的过程。

源码都在这里:

org.apache.tomcat.util.http.Parameters#processParameters(byte[], int, int, java.nio.charset.Charset)

下面我们分析下其源码:

我们那 "a=b&%你a=%我" 做例子,浏览器发起请求前会将它url编码成如下:

a=b&%25%E4%BD%A0a=%25%E6%88%91

1)先看其如何解析出键值对 中的“键”和“值”。源码 如下:

tomcat主要是对关键的字符 ‘=’、‘&’和‘+’ 进行分析从而分割出“键” 和 “值”。在这里,我们可以很容易看出,tomcat对‘%’是直接跳过 不处理的。也就是说,浏览器Url编码后的键值对中的 ‘%’ 是不被tomcat处理的。

我们可以往下看:tomcat 在上面过程中提取出  ‘键’:“%25%E4%BD%A0a”  和  ‘值’:“%25%E6%88%91” 后,分别进行url解码。然后存入Map中。

相关文章

  • Java程序员遇上字符乱码14-tomcat如何解析url编码的

    从前面的介绍Url编码文章中,我们了解了浏览器发起请求的字符处理过程。现在开始介绍tomcat服务器对键值对进行U...

  • 字符集和字符编码

    乱码 乱码是怎么出现的呢?对同一组二进制数据,不同的编码会解析出不同的字符,用对了编码,解析出来的字符组成的文字是...

  • JS 获取url参数以及中文乱码问题

    encodeURI() 函数可把字符串作为 URI 进行编码 获取指定参数 中文乱码问题编码两次 获取url参数

  • iOS URL处理

    今天讲三个关于 URL 处理的小技巧 URL中含有中文导致无法解析怎么办 URL中文乱码如何处理 URL如何解析参...

  • 如何对URL字符串进行百分号编码

    如何对URL字符串进行百分号编码 如何对URL字符串进行百分号编码

  • golang url 链接地址解析包

    golang url 链接地址解析包 url 编码 QueryEscape 将字符地址转为安全地址func Que...

  • 任务4-HTML基础知识 颜色详解

    网页乱码的问题是如何产生的?怎样解决原因:文件编码和浏览器解析编码不匹配造成,一般都是非英文字符造成的。解决:保存...

  • 编码

    参考:字符编码常识及问题解析深入分析 Java 中的中文编码问题 关于字符编码,你所需要知道的 编码是什么? 编码...

  • 网址URL中特殊字符转义编码

    网址URL中特殊字符转义编码字符 - URL编码值 URL特殊字符转义,URL中一些字符的特殊含义,基...

  • java中url传中文参数出现乱码

    java中url传中文参数出现乱码 原因: Http请求传输时将url以ISO-8859-1编码,服务器收到字节流...

网友评论

      本文标题:Java程序员遇上字符乱码14-tomcat如何解析url编码的

      本文链接:https://www.haomeiwen.com/subject/xzykdxtx.html