如果服务器是tomcat
前台传后台:url?par=测试, 则par到后台取到的值为乱码
一般的处理方法:
String str= reqDTO.getValue("par");
str= new String(sendValue.getBytes("ISO-8859-1"),"GBK");此时str='测试'
也可以修改服务器的配置文件/conf/server.xml中
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
为
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
这时候直接String str= reqDTO.getValue("par");
str='测试'
推荐使用第二种方法,因为如果换了使用WebSphere, 是不需要解码的,程序可移植性不好