最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMvc后臺(tái)接收json數(shù)據(jù)中文亂碼問(wèn)題詳解

 更新時(shí)間:2019年09月07日 09:10:54   作者:技術(shù)-劉騰飛  
這篇文章主要介紹了SpringMvc后臺(tái)接收json數(shù)據(jù)中文亂碼問(wèn)題詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

原因分析

使用ajax從前臺(tái)頁(yè)面?zhèn)鬏敂?shù)據(jù)到后臺(tái)controller控制器的時(shí)候,出現(xiàn)中文亂碼

其實(shí)亂碼問(wèn)題出現(xiàn)的原因,就是由于默認(rèn)的tomcat配置,接收請(qǐng)求是以ISO-8859-1來(lái)轉(zhuǎn)碼,導(dǎo)致中文出現(xiàn)了亂碼問(wèn)題,只要能正確的以u(píng)tf-8來(lái)轉(zhuǎn)碼,則可以解決亂碼問(wèn)題。

普通數(shù)據(jù)傳輸,從jsp頁(yè)面?zhèn)鞯胶笈_(tái)controller,中文亂碼問(wèn)題解決方案

首先檢查jsp頁(yè)面編碼格式是否是utf-8

設(shè)置中文過(guò)濾

  <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>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

springMvc配置文件中設(shè)置JSON數(shù)據(jù)轉(zhuǎn)換

<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
      <!-- 啟動(dòng)Spring MVC的注解功能,完成請(qǐng)求和注解POJO的映射 注解請(qǐng)求映射
      默認(rèn)是ISO-88859-1,避免亂碼這里設(shè)置為UTF-8 -->
      <bean class="org.springframework.http.converter.StringHttpMessageConverter">
        <property name="supportedMediaTypes" value="text/html;charset=UTF-8" />
      </bean>
      <!-- 啟動(dòng)JSON格式的配置,自動(dòng)將格式轉(zhuǎn)換成JSON格式,不需要其他類 -->
      <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
        <property name="supportedMediaTypes" value="application/json;charset=UTF-8" />
      </bean>
    </mvc:message-converters>
  </mvc:annotation-driven>

解決方案

方式一:

在controller接收參數(shù)時(shí),對(duì)參數(shù)進(jìn)行轉(zhuǎn)碼

@ResponseBody
@RequestMapping(value="/getJsonDataByCityName",produces="application/json")
public String getJsonByName(HttpServletRequest request,HttpServletResponse response,@RequestParam String city_name)throws ServletException, IOException
{
//response.setContentType("text/html;charset=UTF-8");

//request.setCharacterEncoding("UTF-8");//解決post亂碼問(wèn)題
System.out.println(request.getCharacterEncoding());
city_name = new String(city_name.getBytes("ISO-8859-1"), "UTF-8");
System.out.println("city_name:"+city_name);
}

方式二:

  • 配置tomcat目錄下的service.xml文件
  • tomcat7/conf/server.xml
  • 給該行代碼加上 URIEncoding="UTF-8" 的編碼屬性
<Connector port="8080" protocol="HTTP/1.1"
       connectionTimeout="20000"
      redirectPort="8443" URIEncoding="UTF-8" />

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java使用FFmpeg合成視頻和音頻并獲取視頻中的音頻等操作(實(shí)例代碼詳解)

    java使用FFmpeg合成視頻和音頻并獲取視頻中的音頻等操作(實(shí)例代碼詳解)

    這篇文章主要介紹了java使用FFmpeg合成視頻和音頻并獲取視頻中的音頻等操作,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Spring boot項(xiàng)目集成Camel FTP的方法示例

    Spring boot項(xiàng)目集成Camel FTP的方法示例

    這篇文章主要介紹了Spring boot項(xiàng)目集成Camel FTP的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 使用Java實(shí)現(xiàn)簽字功能的示例代碼

    使用Java實(shí)現(xiàn)簽字功能的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)簽字功能,同時(shí)支持將簽字圖像保存為PNG格式和將簽字添加到PDF文檔中,感興趣的可以了解下
    2024-02-02
  • 關(guān)于弱引用WeakReference所引用的對(duì)象的回收規(guī)則

    關(guān)于弱引用WeakReference所引用的對(duì)象的回收規(guī)則

    這篇文章主要介紹了關(guān)于弱引用WeakReference所引用的對(duì)象的回收規(guī)則,如果一個(gè)弱引用實(shí)例的成員變量referent引用了一個(gè)對(duì)象obj,那么就稱這個(gè)弱引用實(shí)例對(duì)obj的引用是弱引用,被一個(gè)弱引用實(shí)例引用的對(duì)象,稱為弱引用對(duì)象,需要的朋友可以參考下
    2023-09-09
  • Java8新特性之字符串去重介紹

    Java8新特性之字符串去重介紹

    這篇文章主要介紹了Java8新特性之字符串去重介紹,新的字符串去重特性可以幫助減少應(yīng)用中String對(duì)象的內(nèi)存占用,目前該特性只適用于G1垃圾收集器,并且默認(rèn)不被開(kāi)啟,需要的朋友可以參考下
    2014-09-09
  • Java后臺(tái)通過(guò)Collections獲取list集合中最大數(shù),最小數(shù)代碼

    Java后臺(tái)通過(guò)Collections獲取list集合中最大數(shù),最小數(shù)代碼

    這篇文章主要介紹了Java后臺(tái)通過(guò)Collections獲取list集合中最大數(shù),最小數(shù)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • Java中的ConcurrentHashMap集合源碼解析

    Java中的ConcurrentHashMap集合源碼解析

    這篇文章主要介紹了Java中的ConcurrentHashMap集合源碼解析,ConcurrentHashMap底層容器和HashMap相同,同樣是Node數(shù)組+鏈表+紅黑樹(shù),不同的是在原來(lái)的基礎(chǔ)之上使用了Synchronized+CAS來(lái)保證線程安全,下面我們來(lái)進(jìn)行源碼分析,需要的朋友可以參考下
    2023-11-11
  • IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件

    IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件

    這篇文章主要為大家介紹了一款I(lǐng)DEA神器,可以一鍵查看Java字節(jié)碼及其他類信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-01-01
  • Java項(xiàng)目打包Docker鏡像全流程

    Java項(xiàng)目打包Docker鏡像全流程

    本文是一份超詳細(xì)的Java項(xiàng)目Docker化實(shí)戰(zhàn)手冊(cè),從環(huán)境準(zhǔn)備到最終上線,手把手帶你完成整個(gè)容器化部署流程,無(wú)論你是剛接觸Docker的新手,還是想系統(tǒng)梳理容器化流程的開(kāi)發(fā)者,這篇文章都能給你帶來(lái)實(shí)實(shí)在在的幫助,需要的朋友可以參考下
    2025-04-04
  • Android Studio更改項(xiàng)目使用的JDK(詳細(xì)步驟)

    Android Studio更改項(xiàng)目使用的JDK(詳細(xì)步驟)

    本文介紹了如何在Android Studio中修改Gradle和JDK的配置步驟,包括打開(kāi)設(shè)置、進(jìn)入Gradle設(shè)置、修改JDK路徑、保存并生效等,感興趣的朋友跟隨小編一起看看吧
    2024-11-11

最新評(píng)論

岐山县| 张家界市| 临猗县| 双桥区| 镇远县| 紫阳县| 元阳县| 正安县| 张家界市| 买车| 开远市| 全州县| 巩留县| 工布江达县| 大埔县| 金阳县| 上虞市| 和顺县| 当雄县| 瑞金市| 通道| 马公市| 杭锦后旗| 蒲城县| 汉源县| 张家口市| 尼木县| 宿迁市| 西乡县| 东丰县| 年辖:市辖区| 兴城市| 开平市| 滁州市| 射洪县| 海盐县| 江永县| 铁力市| 洛扎县| 沧源| 孝感市|