Java获取get请求乱码问题解决之道

    前段时间,开发项目时,遇到文件下载乱码问题,对于乱码其实很容易解决,但LZ在本地测试时发现没有任何问题,重新检查了页面编码,tomcat配置,页面传递的参数都没有问题,但发布到服务器上时却出现了乱码。经过询问(一般情况下,权限管理,是不允许你随便去登录服务器),才得知原来服务器上是通过Apache2.2版本的服务器转发Servlet/Jsp请求给tomcat的。原来为了解决get方式的乱码在tomcat的server.xml中配置的:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />

已经失效。

  因为Apache是通过AJP协议,把请求转发至tomcat监听的8009端口上的,所以这里针对8080端口自然就失效了,正确的配置应该如下:

        <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />

自然就解决了,也可以在后台接收参数时进行转码,但LZ选择了前者,因为本地和服务器不一致,写转码判断编码麻烦的很。

 
 

 

 

acceptCount="100" debug="99" connectionTimeout="20000" 

 

 

disableUploadTimeout="true" URIEncoding="UTF-8"/>

你可能感兴趣的:(java)