2

我在 Ubuntu 中运行 httpd + mod_jk + 2 个 tomcat 服务器。当我以非拉丁语言提交表单时,我在数据库中得到垃圾。如果我通过 Tomcat 直接绕过 httpd 提交相同的表单,一切看起来都很好。以下是我的配置:

/etc/apache2/conf.d/charset:

AddDefaultCharset UTF-8

Tomcat1:

< 连接器端口="8080" 协议="AJP/1.3" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

Tomcat2:

< 连接器端口="9080" 协议="AJP/1.3" connectionTimeout="20000" redirectPort="9443" URIEncoding="UTF-8" />

JDBC连接:

jdbc:mysql://localhost:3306/myapp?useEncoding=true&characterEncoding=UTF-8

/etc/apache2/mods-available/jk.conf(我设置负载均衡器的同一个文件)

JkOptions +ForwardURICompatUnparsed

我错过了什么吗?谢谢你!

4

2 回答 2

4

我发现了我的问题,我将 HTTP 连接器与在 Tomcat 的 server.xml 中声明了两次的 AJP 连接器混合在一起。第二个声明甚至不包括属性 URIEncoding。

于 2012-08-27T23:13:48.647 回答
2
<Connector URIEncoding="UTF-8" port="8009" protocol="AJP/1.3" connectionTimeout="10000" keepAliveTimeout="10000" redirectPort="8443"/>

对我来说很好

于 2017-04-06T12:23:08.160 回答