第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CharacterEncodingFilter 類

CharacterEncodingFilter 類

慕標琳琳 2019-03-13 17:15:38
使用org.springframework.web.filter.CharacterEncodingFilter配置請求編碼方式,使用@RequestBody接受ajax的application/json;charset=utf-8 傳輸中文亂碼,配置如下<filter>         <filter-name>springUtf8Encoding</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>springUtf8Encoding</filter-name>         <url-pattern>/*</url-pattern>     </filter-mapping> 疑問:使用String data = URLEncoding.encode('數(shù)據(jù)',ISO-8859-1);再URLDecode.decode(data,utf-8);即可得到正確的中文數(shù)據(jù),我理解為tomcat將請求按照默認的編碼ISO-8859-1來解析了,確實我也沒有設置tomcat的默認編碼格式,但是我同個項目的其它非ajax請求中文正常,猜測可能是CharacterEncodingFilter配置的沒有攔截到我的請求,前輩幫忙看看哪里配置錯了。還有個問題就是tomcat設置的默認編碼類型和CharacterEncodingFilter設置的編碼類型,是否有優(yōu)先級的說法?
查看完整描述

1 回答

?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

@RequestBody 既然使用到這個注解,那就說明樓主使用的不是get方法。參數(shù)不在URL中那自然是不需要使用URLEncoding.encode的吧。


<init-param>  

   <param-name>encoding</param-name>  

   <param-value>UTF-8</param-value>  

</init-param>  

你這里設置了編碼就足夠了。


@Override

protected void doFilterInternal(

        HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)

        throws ServletException, IOException {


    if (this.encoding != null && (this.forceEncoding || request.getCharacterEncoding() == null)) {

        request.setCharacterEncoding(this.encoding);

        if (this.forceEncoding) {

            response.setCharacterEncoding(this.encoding);

        }

    }

    filterChain.doFilter(request, response);

}

forceEncoding 為 true 為設置response的編碼,并不會對request參數(shù)造成影響。


樓主仔細看一下CharacterEncodingFilter執(zhí)行的過程,以及Filter執(zhí)行的先后順序。


查看完整回答
反對 回復 2019-04-24
  • 1 回答
  • 0 關注
  • 433 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號