• 关于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>
  • 相关阅读:
    Grid表格的js触发事件
    C# 在获得鼠标点击事件时,如何判断Control键,Shift键被按下
    纠错《COM技术内幕》之ProgID
    C# 日期格式化
    C# 操作系统防火墙
    C# 开发和调用Web Service
    谓侠
    高维FWT
    单位根反演
    容斥 反演
  • 原文地址:https://www.cnblogs.com/GooPolaris/p/7919735.html
Copyright © 2020-2023  润新知