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

springboot全局字符編碼設置解決亂碼問題

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

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

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

1、在application.properties中設置

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

如果出現(xiàn)亂碼問題,這種方式解決的可能性不大,但可以嘗試一下,希望還是要有的,萬一解決了呢,因為查看源碼發(fā)現(xiàn)springboot默認的編碼格式就是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配置寫一個字符編碼配置類

/**
 * 中文亂碼解決
 */
@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是一個請求和響應信息的編碼轉換器,通過源碼我們發(fā)現(xiàn)默認編碼ISO-8859-1,不是UTF-8,所以我們只要通過上述配置將請求字符串轉為UTF-8 即可

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

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

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

相關文章

  • JAVA 時間區(qū)間的字符串合法性驗證

    JAVA 時間區(qū)間的字符串合法性驗證

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

    Java線程池詳細解讀

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

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

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

    關于idea無法修改模板中jdk版本問題

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

    Java基礎之CardLayout的使用

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

    Spring中HandlerMethod類源碼詳細解析

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

    Spring整合TimerTask實現(xiàn)定時任務調度

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

    java:找不到符號報錯的排錯方案舉例

    當你使用一個未定義或未導入的類時,編譯器會報錯,下面這篇文章主要給大家介紹了關于java:找不到符號報錯的排錯方案,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • SpringBoot向resources下寫文件的兩種方式

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

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

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

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

最新評論