Apache+Tomcat+mod_jk 配置负载均衡后乱码问题解决

来源:互联网 发布:修改数据库表字段类型 编辑:程序博客网 时间:2024/05/20 13:18

Aapache2.2.4+Tomcat6.0.20/26+mod_jk-1.2.26-httpd-2.2.4.so 配置集群后乱码问题解决

 

http.conf 配置如下

同目录下的workers.properties 文件


tomcat 的server.xml 配置如下

 

配置成功后在使用post 提交中文时会产生乱

这个问题折腾了两天,终于解决了

解决过程中,使用request.setChartsetEncoding("utf-8") 、过滤器都无法正常转化中文,最后找了问题所有,主要是为因在server.xml 的中配置中有个   <Valve className="org.apache.catalina.valves.RequestDumperValve"/>  这个RequestDumperValue 这个类,

用于跟踪集群过程中的参数,在post提交参数时,RequestDumperValue 会从请求中获取参数的值并显示[大至看了一下这个类的源码是这样的],而此时参数应该是tomcat 的默认的iso8859-1 编码,显示的肯定是乱码;在网上看到有人说在request 进行重新编码之前,不能从request 中取值,如果执行了此操作,会导致后面的编码request.setChartsetEncoding("utf-8")  起使用!按照这样的理解,把<Valve className="org.apache.catalina.valves.RequestDumperValve"/> 配置从server.xml 中取掉,或移到<Manager className="org.apache.catalina.ha.session.BackupManager"  > 之前,然后测试乱码解决!

 

中间有一次东西自己也了解不太清楚,具体request 在重新编码之间不能重新编码是不是这回事,没有经过确认!我只是按照这种思路解决了问题,希望对遇到此问题的朋友有所帮助!呵呵!

原创粉丝点击