十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近翻阅《深入分析 Java Web 技术内幕》(作者:许令波),关于Tomcat上Web请求的编解码问题,少了一个小点,可能影响了部分读者的理解,我特意查证了一下,特总结如下:
创新互联公司"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!创新互联公司具备承接各种类型的成都网站建设、网站建设项目的能力。经过10年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。
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。