• 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Spring整合CXF之添加拦截器
    Spring整合CXF之发布WebService服务
    CXF添加自定义拦截器
    cxf处理一些Map等复杂类型
    webservice执行过程深入理解
    谈谈房车
    关于贷款消费
    记一次玩比特币的经历
    那年K城暑期工
    SpringBoot整合Xxl-Job
  • 原文地址:https://www.cnblogs.com/husam/p/10855702.html
Copyright © 2020-2023  润新知