1. get请求传递中文时本地连正式库访问都正常,正式环境下单独访问报错tomcat
代码:服务器
请求:project/projectInfo/export/?cks=’项目类型.net
public String export(ProjectIn foprojectInfo,server
HttpServletRequest request,HttpServletResponse response, Model model) {xml
String cks =request.getParameter("cks");blog
//获取有被选中的字段utf-8
cks=new String(cks.getBytes("ISO-8859-1"),"utf-8"); 字符串
return null;get
}io
本地可以正常获取到cks并对cks进行解码
问题缘由:
本地tomcat中的server.xml文件:
<ConnectorconnectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443" />
正式环境 tomcat中的server.xml文件:
<Connector connectionTimeout="20000"port="8080" protocol="HTTP/1.1"redirectPort="8443" maxPostSize="0" URIEncoding="UTF-8"/>
由于本地没有配置URIEncoding="UTF-8"缘由对中文进行了解码,所以本地正常
而正式库已经tomcat服务器已经对get请求进行了解码,代码中又对该字符串进行了一次解码,因此就致使错误
解决方法:
代码中将