• 怎么设置tomcat在get请求的中文也不乱码?两种情况下配置


    我们都知道,get请求和post请求的一个比较显著区别就是,在使用post请求的时候,中文不会乱码,但是在使用get请求的时候,如果url后面带有中文就会乱码了。那么这个怎么解决呢?

    753569d1c5b99bf36938f21fba4a3a36.png

    前提:配置项目的encoding编码位utf-8的前提下。如,使用spring项目的时候,可以在spring的配置文件中添加如下的:

     <filter>

            <filter-name>encoding</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>encoding</filter-name>

            <url-pattern>*.do</url-pattern>

        </filter-mapping>

    两个方案:

    一:使用tomcat,将项目直接部署到tomcat中的

    这种情况下,如果想要修改get请求中文参数不乱码的话,需要修改:

    在tomcat的配置文件中添加如下配置:

    <!-- 添加属性URIEncoding="utf-8"可以解决get乱码问题,然后重启服务器-->

        <Connector port="8080" protocol="HTTP/1.1"

                   connectionTimeout="20000"

                   redirectPort="8443" URIEncoding="utf-8" />

    二:如果使用的是maven 插件运行tomcat的话,就需要在pom.xml的maven插件中配置编码方式:

    <plugins>

    <!-- maven项目的热部署使用的插件 使用tomcat7的插件的话,运行时设置部署命令是需要使用tomcat7:deploy -->

    <plugin>

    <groupId>org.apache.tomcat.maven</groupId>

    <artifactId>tomcat7-maven-plugin</artifactId>

    <version>2.2</version>

    <configuration>

        <uriEncoding>UTF-8</uriEncoding>  <!--配置编码方式为UTF-8-->

    <url>http://localhost:8080/manager/text</url>

    <path>/</path>

    <server>tomcat</server>

    <username>tomcat</username>

    <password>123456</password>

    </configuration>

    </plugin>

  • 相关阅读:
    大前端的自动化工厂(1)——Yeoman
    推荐两个漂亮的编程字体
    javascript基础修炼(3)—What's this(下)
    javascript基础修炼(2)——What's this(上)
    javascript基础修炼(1)——一道十面埋伏的原型链面试题
    2018年8月中级前端开发推荐书籍
    React组件方法中为什么要绑定this
    Angularjs进阶笔记(2)-自定义指令中的数据绑定
    Angularjs1.X进阶笔记(1)—两种不同的双向数据绑定
    mysql多表查询
  • 原文地址:https://www.cnblogs.com/kaigejava/p/12009091.html
Copyright © 2020-2023  润新知