解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)
使用springmvc框架開發(fā)了這么長(zhǎng)時(shí)間,之前都是直接返回jsp頁(yè)面,亂碼情況都是通過(guò)配置和手動(dòng)編解碼來(lái)解決,但是今天突然返回一段單純的字符串時(shí),發(fā)現(xiàn)中文亂碼情況解決不了了,下面就給各位分享一下如何解決返回字符串時(shí)出現(xiàn)的亂碼情況(無(wú)需實(shí)驗(yàn),直接使用即可)。
之前我們都是通過(guò)在springmvc的核心配置文件中配置視圖解析器來(lái)返回指定的頁(yè)面,將數(shù)據(jù)通過(guò)Model對(duì)象渲染頁(yè)面,最后響應(yīng)給用戶,但是這種方式我們是通過(guò)在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>?
但是在某種情況下我們不需要對(duì)用戶返回一個(gè)頁(yè)面,而是單純給調(diào)用接口服務(wù)的調(diào)用者返回一字符串,這時(shí)添加@ResponseBody注解這是必然的,但是你響應(yīng)的數(shù)據(jù)中包含中文,則會(huì)出現(xiàn)亂碼問(wèn)題,即使你在web.xml文件中配置了解決post請(qǐng)求方式的亂碼過(guò)濾器,也于事無(wú)補(bǔ),這時(shí)就需要通過(guò)倆種方式來(lái)解決(當(dāng)然本人只熟悉倆種,并且已經(jīng)實(shí)踐過(guò)了,好使)。
?
第一種:通過(guò)注解的屬性解決。
通過(guò)給@RequestMapping中添加produces="text/html;charset=UTF-8"。
第二種:通過(guò)在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>?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/1315925303zxz/p/6529138.html
總結(jié)
以上是生活随笔為你收集整理的解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 154 寻找旋转排序数
- 下一篇: SQLServer—端口概念