亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

springMVC解決ajax請求亂碼的三種方法

2024-09-05 00:18:50
字體:
來源:轉載
供稿:網友

在使用spring MVC進行開發時會遇到這樣那樣的問題,也就是說,AJAX返回的任何中文數據都是亂碼,下面錯新技術頻道告訴你springMVC解決ajax請求亂碼的三種方法,一起來看看吧!

先列出簡單的請求代碼:

瀏覽器端:

<script type="text/javascript">$.ajax({    type: "POST",    url: "/pages/ajax",    data: "name=garfield&age=18",    success: function(data){      console.log(data);   }  })</script>

服務器端:

@ResponseBody@RequestMapping("/ajax")public String ajaxCharacter(){  return "測試";}

web.xml:

<filter>  <filter-name>characterEncodingFilter</filter-name>  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  <init-param><!-- 針對request -->    <param-name>encoding</param-name>    <param-value>UTF-8</param-value>  </init-param>  <init-param><!-- 針對response -->     <param-name>forceEncoding</param-name>    <param-value>true</param-value>  </init-param></filter>

首先,當一個請求到來時,會先經過spring的這個過濾器CharacterEncodingFilter,過濾器設置好編碼之后會進入springmvc的這個DispatcherServlet,通過springmvc的一系列轉化(此處省略。。。),到達我們的控制層,并且幫我們封裝好了參數。在springmvc中配置這個配置項之后<mvc:annotation-driven>,會默認配置RequestMappingHandlerAdapter和HttpMessageConverter,當我們使用@ResponseBody時,那么數據返回時會調用這個數據轉換器。經過查看源碼可知,默認情況下會轉換成ISO-8859-1格式。簡單源碼附上:

public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> {  public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");  private final Charset defaultCharset;  private final List<Charset> availableCharsets;  private boolean writeAcceptCharset;  protected void writeInternal(String s, HttpOutputMessage outputMessage)      throws IOException {    if (this.writeAcceptCharset) {      outputMessage.getHeaders().setAcceptCharset(getAcceptedCharsets());    }    Charset charset = getContentTypeCharset(outputMessage.getHeaders()        .getContentType());    StreamUtils.copy(s, charset, outputMessage.getBody());  }  ...}public abstract class AbstractHttpMessageConverter<T> implements    HttpMessageConverter<T> {  protected final Log logger = LogFactory.getLog(super.getClass());  private List<MediaType> supportedMediaTypes = Collections.emptyList();  ...}

通過上面的源碼可以看出,對于字符串會自動編碼成默認格式ISO-8859-1,所以對應的就有解決方案。

方案一:

@RequestMapping(value = “/test”,produces=”text/html;charset=UTF-8;”)

方案二:

此注解需要注意的是一定要使用spring 3.1.x 以上。

<mvc:annotation-driven>  <mvc:message-converters register-defaults="true">    <bean class="org.springframework.http.converter.StringHttpMessageConverter">     <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>    </bean>   </mvc:message-converters> </mvc:annotation-driven>

方案三:

不使用@ResponseBody,將請求處理改成如下:

@RequestMapping("/ajax")public void ajaxCharacter(HttpServletResponse response) throws IOException{  PrintWriter out = response.getWriter();  out.print("測試");  out.close();}上文是錯新技術頻道小編為大家帶來的springMVC解決ajax請求亂碼的三種方法,如果小編介紹的大家還有疑問,或者有錯誤歡迎大家指出。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91综合免费在线| 国产欧美久久一区二区| 亚洲最新中文字幕| 久久久午夜视频| 欧美激情极品视频| 91po在线观看91精品国产性色| 国产精品三级网站| 亚洲成**性毛茸茸| 国产不卡一区二区在线播放| 亚洲视频axxx| 中文字幕视频在线免费欧美日韩综合在线看| 全色精品综合影院| 成人av在线天堂| 国产精品一区久久久| 欧美一级高清免费| 国产九九精品视频| 国产97在线|日韩| 欧美日韩国产精品一区二区三区四区| 国内伊人久久久久久网站视频| 国产视频自拍一区| 92国产精品视频| 美女久久久久久久久久久| 啪一啪鲁一鲁2019在线视频| 欧美激情性做爰免费视频| 欧美亚州一区二区三区| 欧美黑人狂野猛交老妇| 日日狠狠久久偷偷四色综合免费| 韩剧1988在线观看免费完整版| 国产午夜精品久久久| 欧美视频在线观看免费网址| 国产精品久久久久久网站| 久久人人爽人人爽爽久久| 国产精品看片资源| 日韩美女av在线| 欧美成人免费va影院高清| 久久精品中文字幕一区| 亚洲欧美在线一区| 久久青草精品视频免费观看| 麻豆乱码国产一区二区三区| 亚洲国产精品成人va在线观看| 中文字幕av一区| 91理论片午午论夜理片久久| 成人美女av在线直播| 亚洲图中文字幕| 亚洲美女av电影| 精品成人69xx.xyz| 国产亚洲免费的视频看| 国产在线98福利播放视频| 久久久免费av| 亚洲男人天堂2024| 国产精品欧美一区二区| 久久99久久久久久久噜噜| 国产丝袜一区二区三区免费视频| 亚洲奶大毛多的老太婆| 欧美激情videoshd| 欧美多人乱p欧美4p久久| 亚洲人成电影网站色xx| 国产精品永久免费视频| 欧美亚洲成人精品| 色婷婷综合久久久久中文字幕1| 亚洲美女精品久久| 欧美日韩在线看| www国产精品com| 精品亚洲永久免费精品| 欧美激情一区二区三级高清视频| 亚洲国内精品在线| 久久精品国产96久久久香蕉| 91精品国产高清自在线| 亚洲欧美国产日韩天堂区| 欧美日韩国产va另类| 狠狠干狠狠久久| 亚洲欧美精品一区| 九九热这里只有在线精品视| 疯狂蹂躏欧美一区二区精品| 亚洲午夜久久久影院| 亚洲在线免费看| 最近中文字幕mv在线一区二区三区四区| 日韩视频在线观看免费| 亚洲人成亚洲人成在线观看| 美女福利精品视频| 欧美日本在线视频中文字字幕| 中国人与牲禽动交精品| 国产精品成av人在线视午夜片| 日韩av综合中文字幕| www.欧美三级电影.com| 青青草原成人在线视频| 国产热re99久久6国产精品| 2019最新中文字幕| 国产精品永久免费在线| 亚洲自拍在线观看| 亚州欧美日韩中文视频| 国产精品白嫩美女在线观看| 欧洲中文字幕国产精品| 精品亚洲一区二区三区四区五区| 久久国产精品久久国产精品| 97欧美精品一区二区三区| 成人免费福利在线| 欧美激情按摩在线| 欧美另类精品xxxx孕妇| 久久久免费在线观看| 亚洲综合在线播放| 精品国产电影一区| 4p变态网欧美系列| 亚洲色图17p| 性欧美xxxx视频在线观看| 久久久久久有精品国产| 国产精品都在这里| 91黑丝在线观看| 亚洲成人av在线播放| 国产精品免费一区| 在线观看国产成人av片| 免费97视频在线精品国自产拍| 欧美日韩国产一区在线| 国产女精品视频网站免费| 国产一区二区三区视频在线观看| 国产精品视频播放| 亚洲开心激情网| 社区色欧美激情 | 日韩av电影院| 久久精品视频在线观看| 欧美激情性做爰免费视频| 欧美精品成人91久久久久久久| 高清欧美一区二区三区| 日韩av中文字幕在线免费观看| 国产亚洲精品美女久久久| 国产美女久久精品香蕉69| 国产精品网红直播| 欧美插天视频在线播放| 亚洲91精品在线| 另类少妇人与禽zozz0性伦| 91精品国产91久久久久久| 日韩电影中文字幕在线| 欧美裸体男粗大视频在线观看| 亚洲性猛交xxxxwww| 97色在线观看免费视频| 欧美激情久久久久| 欧美午夜影院在线视频| 日韩精品在线播放| 日韩天堂在线视频| 日韩精品中文字幕在线播放| 欧美日韩在线视频首页| 国产欧美在线播放| 岛国av一区二区三区| 国产v综合v亚洲欧美久久| 国产精品视频白浆免费视频| 日韩成人中文字幕在线观看| 日韩欧美中文在线| 欧美日韩国产精品一区| 亚洲第一福利视频| 97香蕉超级碰碰久久免费的优势| 欧美精品一区三区| 6080yy精品一区二区三区| 国产精品三级久久久久久电影| 高清欧美性猛交xxxx| 国内精久久久久久久久久人| 91av在线精品| 欧美日韩美女在线观看| 草民午夜欧美限制a级福利片| 欧美高清在线观看| 精品久久久久久中文字幕一区奶水| 亚洲第一天堂av| 亚洲xxxx妇黄裸体| 亚洲第一色在线| 欧美性猛交99久久久久99按摩|