关于Tomcat上请求的编解码问题-创新互联

最近翻阅《深入分析 Java Web 技术内幕》(作者:许令波),关于Tomcat上Web请求的编解码问题,少了一个小点,可能影响了部分读者的理解,我特意查证了一下,特总结如下:

创新互联自2013年创立以来,我们提供高端网站建设、小程序设计、电商视觉设计、App定制开发及网络营销搜索优化服务,在传统互联网与移动互联网发展的背景下,我们坚守着用标准的设计方案与技术开发实力作基础,以企业及品牌的互联网商业目标为核心,为客户打造具商业价值与用户体验的互联网+产品。

1. 请求的PathInfo部分用Tomcat的Connector元素的URIEncoding属性指定的编码来解码。

具体使用可参考:https://tomcat.apache.org/tomcat-8.5-doc/config/http.html。

2. 第二先说请求体(POST正文)的解析,Tomcat按下次顺序去获取字符编码:

1)用户通过类似代码指定:<%request.setCharsetEncoding("utf-8")%>

2) 请求报文content-type请求头指定的编码。

3)应用web.xml配置的统一编码(这个目前在Servlet4.0规范中)

4) 系统默认的ISO8859-1

3. 另外就是QueryString部分的解析,默认情况下Tomcat采用与1)相同的URIEncoding来解析QueryString。 但同时Tomcat提供了另一个参数useBodyEncodingForURI。字面意思用报文体编码来解析QueryString。  若该参数为true.则Tomcat采用与2)相同的编码来解析QueryString。


网站栏目:关于Tomcat上请求的编解码问题-创新互联
当前路径:http://scyanting.com/article/dgphee.html