zoukankan      html  css  js  c++  java
  • 关于Tomcat服务器接收到的请求参数乱码的问题

    我们在编写的Controller 等服务器端的代码时,接受到的请求参数经常会乱码。

    解决:在Tomcat 的安装目录下找到conf 文件夹下的server.xml文件用记事本打开。

    找到

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="30000"
                   redirectPort="8443"  />

    添加上URIEncoding="UTF-8"

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="30000"
                   redirectPort="8443" URIEncoding="UTF-8" />

    在把eclipse中的Server 工程中的server.xml文件中的上述代码也改一遍。就可以了。

    <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

    但是需要注意的是,这个只对GET请求起作用,对于form表单的没有起作用。

    后续如果发现对form表单起作用的方法在添加上来

    =======================更新========================================

    表单的提交乱码解决的方法:在web.xml文件中的配置Spring 自带的过滤器 org.springframework.web.filter.CharacterEncodingFilter

    但是需要注意的是:这个filter 放的位置非常重要,放的顺序不一样则会的起不到作用,目前发现要尽量靠前放置,但是要放在 <listener> 的后面。后续如果又发现再更新

         <filter>
            <filter-name>characterEncodingFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>UTF-8</param-value>
            </init-param>
            
        </filter>
        <filter-mapping>
            <filter-name>characterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
  • 相关阅读:
    Hbase 统计行数的四种方式
    Solr、MongoDB和Hadoop比较
    三种方法更改MAC OS X下的HOSTS文件
    史上最全前端面试题(含答案)
    图文-水平垂直居中兼容ie6+
    CSS3动画
    jQuery延迟加载(懒加载)插件 – jquery.lazyload.js-Web前端(W3Cways.com)
    web app变革之rem
    MAC中通过gem命令安装compass
    mac下升级ruby环境版本
  • 原文地址:https://www.cnblogs.com/GooPolaris/p/7919735.html
Copyright © 2011-2022 走看看