javaee SpringMVC 乱码问题解决

方法一

在web.xml文件中注册过滤器

xml 复制代码
<!-- 注册过滤器  设置编码 -->
  <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>
    <init-param>
      <param-name>forceResponseEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

方法二

在注解中添加编码设置,主要是处理ajax请求乱码

produces = "text/html;charset=utf-8"

java 复制代码
 @RequestMapping(value="/getMajorList2",produces = "text/html;charset=utf-8")
    @ResponseBody
    public String getMajorList2()
    {

        List<Major> majorList=new ArrayList<Major>();

        majorList.add(new Major(1,"计算机"));

        majorList.add(new Major(2,"英语"));

        return JSON.toJSONString(majorList);
    }

方法三

修改tomcat的sever.xml文件

添加 URIEncoding="utf-8"

主要解决post请求乱码

xml 复制代码
 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8" />
相关推荐
文丑颜不良啊4 小时前
LeetCode2761~2780题目解析
java·leetcode
IT枫斗者枫哥4 小时前
子线程断言失败,JUnit 为什么还显示通过?
java·后端
考虑考虑6 小时前
JDK27中的Set.ofLazy
java·后端·java ee
文丑颜不良啊7 小时前
LeetCode2841~2860题目解析
java·leetcode
小南家的青蛙7 小时前
Tomcat与Jetty深度对比
java·tomcat·jetty
乌暮8 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
YDS8298 小时前
Small Spring IOC篇:容器事件及其监听器
java·spring
金銀銅鐵8 小时前
带您看懂字节码指令(三):一行加法里有什么
java·jvm
文丑颜不良啊8 小时前
LeetCode2921~2940题目解析
java·leetcode
北漂人Java9 小时前
基于 Spring AI Alibaba WorkFlow 构建 Java 生产级 AI Agent
java·人工智能·spring