解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)
时间:2022-04-24
本文章向大家介绍解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用springmvc框架开发了这么长时间,之前都是直接返回jsp页面,乱码情况都是通过配置和手动编解码来解决,但是今天突然返回一段单纯的字符串时,发现中文乱码情况解决不了了,下面就给各位分享一下如何解决返回字符串时出现的乱码情况(无需实验,直接使用即可)。
之前我们都是通过在springmvc的核心配置文件中配置视图解析器来返回指定的页面,将数据通过Model对象渲染页面,最后响应给用户,但是这种方式我们是通过在web.xml文件中配置CharacterEncodingFilter就可以解决。
1 <!-- 解决post乱码 -->
2 <filter>
3 <filter-name>CharacterEncodingFilter</filter-name>
4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
5 <init-param>
6 <param-name>encoding</param-name>
7 <param-value>UTF-8</param-value>
8 </init-param>
9 </filter>
10 <filter-mapping>
11 <filter-name>CharacterEncodingFilter</filter-name>
12 <url-pattern>/*</url-pattern>
13 </filter-mapping>
但是在某种情况下我们不需要对用户返回一个页面,而是单纯给调用接口服务的调用者返回一字符串,这时添加@ResponseBody注解这是必然的,但是你响应的数据中包含中文,则会出现乱码问题,即使你在web.xml文件中配置了解决post请求方式的乱码过滤器,也于事无补,这时就需要通过俩种方式来解决(当然本人只熟悉俩种,并且已经实践过了,好使)。
第一种:通过注解的属性解决。
通过给@RequestMapping中添加produces="text/html;charset=UTF-8"。
第二种:通过在springmvc核心配置文件中配置处理器、映射器解决。
1 <!-- 2、处理器、映射器 -->
2 <mvc:annotation-driven>
3 <mvc:message-converters register-defaults="true">
4 <bean class="org.springframework.http.converter.StringHttpMessageConverter">
5 <constructor-arg value="UTF-8" />
6 </bean>
7 </mvc:message-converters>
8 </mvc:annotation-driven>
- 性能优化总结(三):聚合SQL在GIX4中的应用
- ASP.NET AJAX 控件开发基础
- 听我说说我的博客: 月访问量过万的个人IT博客的技术史
- TransactionScope和Enterprise Libray 3.0 Data Access Application Block
- 《Python Web开发 - 测试驱动方法》阅后感
- 微信小程序分享——会话服务器和业务服务器合并
- 微信官方开源UI库-WeUI
- ViewFlipper实现多页面切换
- Ubuntu & Fedora Mono 2.8 安装脚本
- android下拉加载更多
- 在 Windows 上安装Rabbit MQ 指南
- CentOS 7 安装RabbitMQ 3.3
- 神经网络
- Node.js Leap Motion Hello World——开启AR的小窗
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- ZeroLogon漏洞(CVE-2020-1472)防御性指南
- 原创 | 随机数大家都会用,但是你知道生成随机数的算法吗?
- 原创 | codeforces 1425E,一万种情况的简单题
- 原创 | codeforces 1417C,逆向思考的数据结构题
- 原创 | 操作失误不要慌,这个命令给你的Git一次反悔的机会
- 原创 | 想做推荐算法?先把FM模型搞懂再说
- 活见鬼,明明删除了数据,空间却没减少!
- 原创 | Git仓库的提交记录乱成一团,怎么办?
- 原创 | 平面内有N个点,如何快速求出距离最近的点对?
- 原创 | codeforces 1426F,初学者也能做,div3的最难题
- 安全研究 | YARA规则阻止Windows事件日志记录
- 研究人员如何使用Shhgit搜索GitHub中的敏感数据
- 使用nProbe监控移动网络(2G,3G和LTE)
- Mykings僵尸网络新变种已感染超5万台电脑
- 谁告诉你鸿蒙(HarmonyOS)不能在macOS下玩,一副没见过世面的样子!