如何解決Spring MVC中響應(yīng)亂碼問題
Spring MVC最新響應(yīng)中亂碼解決方式
以前的解決辦法
<!--啟用包掃描--> <context:component-scan base-package="com.mufeng"/> <!--放行靜態(tài)文件--> <mvc:default-servlet-handler/> <!--開啟SpringMVC注解開發(fā)并解決亂碼問題--> <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <!--通過對StringHttpMessageConverter類的List做添加,修改響應(yīng)的編碼--> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
這是比較通用的一種方法
但是它有一種缺點,就是你響應(yīng)一種數(shù)據(jù)添加一種,比較麻煩。而且在之前的版本中默認的響應(yīng)類型為text/html;charset=ISO-8859-1
,且其被final關(guān)鍵字修飾,無法進行修改。
但是在5.2.19.RELEASE之后的版本中,通過閱讀源碼可知:
StringHttpMessageConverter
的父類AbstractHttpMessageConverter<T>
中有了這樣一行代碼:
public abstract class AbstractHttpMessageConverter<T> implements HttpMessageConverter<T> { ..... @Nullable private Charset defaultCharset; .....
雖然它默認的編碼集還是ISO-8859-1
,但是它已不再被final修飾,這就意味著我們可以在Spring配置文件中直接對其進行注入,修改Spring http響應(yīng)的默認編碼集。
代碼如下:
<!--解決亂碼問題--> <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="defaultCharset"> <value>UTF-8</value> </property> </bean> </mvc:message-converters>
這種方法更簡潔高效,而且通過此方法我們不需要在前端代碼中處理響應(yīng)時擔(dān)心后端穿過來的編碼集錯誤。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解基于MybatisPlus兩步實現(xiàn)多租戶方案
這篇文章主要介紹了詳解基于MybatisPlus兩步實現(xiàn)多租戶方案,本文分兩步,通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04Spring Boot集成LangChain來實現(xiàn)Rag應(yīng)用的問題小結(jié)
檢索增強生成(RAG)是一種優(yōu)化大型語言模型(LLM)輸出的技術(shù),通過引用權(quán)威知識庫以增強模型的準(zhǔn)確性和相關(guān)性,RAG允許LLM在不重新訓(xùn)練的情況下訪問特定領(lǐng)域的知識,提高了其在各種應(yīng)用中的實用性和信任度,感興趣的朋友跟隨小編一起看看吧2024-09-09詳細介紹idea如何設(shè)置類頭注釋和方法注釋(圖文)
本篇文章主要介紹了idea如何設(shè)置類頭注釋和方法注釋(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12Spring注解驅(qū)動之關(guān)于@Bean注解指定初始化和銷毀的方法
這篇文章主要介紹了Spring注解驅(qū)動之關(guān)于@Bean注解指定初始化和銷毀的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09SpringBoot之groups應(yīng)對不同的Validation規(guī)則自定義方式
這篇文章主要介紹了SpringBoot之groups應(yīng)對不同的Validation規(guī)則自定義方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10