tomcat中的server.xml文件配置了URIEncoding="UTF-8"需要注意的問題


1.      get請求傳遞中文時本地連正式庫訪問都正常,正式環境下單獨訪問報錯

代碼:

           請求:project/projectInfo/export/?cks=’項目類型

public String export(ProjectIn foprojectInfo,

HttpServletRequest request,HttpServletResponse response, Model model) {

   String cks =request.getParameter("cks");

//獲取有被選中的字段

cks=new String(cks.getBytes("ISO-8859-1"),"utf-8");   

  return null;

   }

本地能夠正常獲取到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請求進行了解碼,代碼中又對該字符串進行了一次解碼,所以就導致錯誤

解決方法:

代碼中將

cks=new String(cks.getBytes("ISO-8859-1"),"utf-8");注釋
---------------------
作者:ShiroGe
來源:CSDN
原文:https://blog.csdn.net/hfs1992/article/details/77233707
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM