/ 中存储网

整合Apache与tomcat时参数乱码的解决办法

2014-03-03 12:57:01 来源:itjs.cn

把Apache2.2与Tomcat6进行整合之后,当提交带有中文参数的请求时,经常出现奇怪的现象。在直接访问Tomcat时,可以正常返回结果的请求,一旦经过Apache的代理,就出现问题。

通过Debug发现,Tomcat在经过和不经过Apache代理的两种情况下,得到的中文参数是不同的,而后者是乱码。

从网上查了一下资料,发现Apache在使用AJP13模式代理到Tomcat时,也应该为Tomcat的AJP13设定一些参数。

具体说来,应该在Tomcat的server.xml中设置为:

<Connector port="8085" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"

<!-- 防止中文乱码 -->

useBodyEncodingForURI="true" URIEncoding="UTF8" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"

<!-- 防止中文乱码 -->

useBodyEncodingForURI="true" URIEncoding="UTF8" />