中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC請求/響應亂碼問題解決方案解析

發布時間:2020-09-17 08:03:56 來源:腳本之家 閱讀:198 作者:陳彥斌 欄目:編程語言

這篇文章主要介紹了SpringMVC請求/響應亂碼問題解決方案解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

GET請求亂碼原因分析

GET請求參數是通過請求行中的URL發送給Web服務器(Tomcat)的。

Tomcat服務器會對URL進行編碼操作(此時使用的是Tomcat設置的字符集,默認是iso8859-1)

到了我們的應用程序中的請求參數,已經是被Tomcat使用ISO8859-1字符集進行編碼之后的了。

解決方式

方式一

修改tomcat配置文件,指定UTF-8編碼,如下:

<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

方式二

對請求參數進行重新編碼

String username = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")

方式三

過濾器+請求裝飾器統一解決請求亂碼

MyRequestWrapper

MyCharacterEncodingFilter

請求亂碼解決之post亂碼問題#

在web.xml中加入:

<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>
  </filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

響應亂碼之post亂碼問題

使用@RequestMapping注解中的produces屬性,指定響應體的編碼格式

方式一:方法體上

  @RequestMapping(value = "findItem",produces = "application/json;charset=utf8")
  @ResponseBody
  public String findItem(Integer id) {
    return "接收到的請求參數是:" + id;
  }

方式二:類上(統一管理編碼格式)

//@Controller
//RestController:注解相當于Controller注解和ResponseBody注解的結合體
@RestController
@RequestMapping(value = "item",produces = "application/json;charset=utf8")
public class ItemController {}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商丘市| 海盐县| 库伦旗| 聂拉木县| 老河口市| 福州市| 卓资县| 盐亭县| 乐山市| 铁岭市| 类乌齐县| 伊川县| 林芝县| 句容市| 阳东县| 江都市| 涪陵区| 东明县| 贡觉县| 灵丘县| 岱山县| 莱阳市| 甘洛县| 剑川县| 咸宁市| 绍兴县| 墨玉县| 南宁市| 阜南县| 礼泉县| 甘南县| 永善县| 密山市| 安多县| 壶关县| 黄陵县| 扎赉特旗| 新丰县| 奇台县| 宿迁市| 广安市|