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請求進行了解碼,代碼中又對該字符串進行了一次解碼,因此就致使錯誤
解決方法:
代碼中將