欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot全局字符編碼設(shè)置解決亂碼問題

 更新時(shí)間:2020年09月16日 11:08:36   作者:SL碼路  
這篇文章主要介紹了springboot全局字符編碼設(shè)置解決亂碼問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

有時(shí)候我們會(huì)發(fā)現(xiàn)這種問題,明明已經(jīng)設(shè)置了字符編碼過濾器但是還會(huì)有亂碼的情況出現(xiàn),這個(gè)問題令我們很是頭疼,我之前也遇到過這種情況。那怎么解決呢?

springboot編碼格式設(shè)置有三種方式,不管使用哪種方式,總有一款適合你。

1、在application.properties中設(shè)置

#編碼格式
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8

如果出現(xiàn)亂碼問題,這種方式解決的可能性不大,但可以嘗試一下,希望還是要有的,萬一解決了呢,因?yàn)椴榭丛创a發(fā)現(xiàn)springboot默認(rèn)的編碼格式就是UTF-8

2、自己手寫編碼過濾器

//字符編碼過濾器
@WebFilter(urlPatterns = "/*",filterName = "CharacterEncodingFilter")
public class CharacterEncodingFilter implements Filter{
  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
  }

  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");

    filterChain.doFilter(request , response);
  }
  @Override
  public void destroy() {
  }
}
如果這種方式也解決不了問題的話,只能使用最后一種方式了。

3、使用java配置寫一個(gè)字符編碼配置類

/**
 * 中文亂碼解決
 */
@Configuration
public class CharsetConfig extends WebMvcConfigurerAdapter {
  @Bean
  public HttpMessageConverter<String> responseBodyConverter() {
    StringHttpMessageConverter converter = new StringHttpMessageConverter(
        Charset.forName("UTF-8"));
    return converter;
  }
  @Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    super.configureMessageConverters(converters);
    converters.add(responseBodyConverter());
  }
  @Override
  public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    configurer.favorPathExtension(false);
  }
}

StringHttpMessageConverter是一個(gè)請(qǐng)求和響應(yīng)信息的編碼轉(zhuǎn)換器,通過源碼我們發(fā)現(xiàn)默認(rèn)編碼ISO-8859-1,不是UTF-8,所以我們只要通過上述配置將請(qǐng)求字符串轉(zhuǎn)為UTF-8 即可

WebMvcConfigurerAdapter 是springmvc的一個(gè)配置支配器類,我們可以實(shí)現(xiàn)我們感興趣的方法。

其實(shí)現(xiàn)的接口WebMvcConfigurer 定義了一些回調(diào)方法為springmvc提供一個(gè)通道通過java基本的配置。

到此這篇關(guān)于springboot全局字符編碼設(shè)置解決亂碼問題的文章就介紹到這了,更多相關(guān)springboot 全局字符編碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA 時(shí)間區(qū)間的字符串合法性驗(yàn)證

    JAVA 時(shí)間區(qū)間的字符串合法性驗(yàn)證

    需要對(duì)獲得的諸如08:30-11:00這樣的字符串進(jìn)行合法性驗(yàn)證,判定表示的時(shí)間區(qū)間是否合法,以及對(duì)高峰期時(shí)間的區(qū)間是否在總的時(shí)間區(qū)間內(nèi)部進(jìn)行判斷。
    2013-03-03
  • Java線程池詳細(xì)解讀

    Java線程池詳細(xì)解讀

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • 詳解java線程的開始、暫停、繼續(xù)

    詳解java線程的開始、暫停、繼續(xù)

    本文將介紹通過線程讀取文件內(nèi)容,并且可以控制線程的開始、暫停、繼續(xù),來控制讀文件。具有一定的參考作用,下面跟著小編一起來看下吧
    2017-01-01
  • 關(guān)于idea無法修改模板中jdk版本問題

    關(guān)于idea無法修改模板中jdk版本問題

    這篇文章主要介紹了關(guān)于idea無法修改模板中jdk版本問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java基礎(chǔ)之CardLayout的使用

    Java基礎(chǔ)之CardLayout的使用

    這篇文章主要介紹了Java基礎(chǔ)之CardLayout的使用,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Spring中HandlerMethod類源碼詳細(xì)解析

    Spring中HandlerMethod類源碼詳細(xì)解析

    這篇文章主要介紹了Spring中HandlerMethod類源碼詳細(xì)解析,HandlerMethod類用于封裝控制器方法信息,包含類信息、方法Method對(duì)象、參數(shù)、注解等信息,具體的接口請(qǐng)求是可以根據(jù)封裝的信息調(diào)用具體的方法來執(zhí)行業(yè)務(wù)邏輯,需要的朋友可以參考下
    2023-11-11
  • Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度

    Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度

    這篇文章主要介紹了Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • java:找不到符號(hào)報(bào)錯(cuò)的排錯(cuò)方案舉例

    java:找不到符號(hào)報(bào)錯(cuò)的排錯(cuò)方案舉例

    當(dāng)你使用一個(gè)未定義或未導(dǎo)入的類時(shí),編譯器會(huì)報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于java:找不到符號(hào)報(bào)錯(cuò)的排錯(cuò)方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • SpringBoot向resources下寫文件的兩種方式

    SpringBoot向resources下寫文件的兩種方式

    這篇文章給大家分享了兩種SpringBoot向resources下寫文件的方式,每種方式都有詳細(xì)的代碼示例,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-08-08
  • Java實(shí)戰(zhàn)之實(shí)現(xiàn)一個(gè)好用的MybatisPlus代碼生成器

    Java實(shí)戰(zhàn)之實(shí)現(xiàn)一個(gè)好用的MybatisPlus代碼生成器

    這篇文章主要介紹了Java實(shí)戰(zhàn)之實(shí)現(xiàn)一個(gè)好用的MybatisPlus代碼生成器,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04

最新評(píng)論