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

首頁 > 學院 > 開發設計 > 正文

SSM框架——SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文亂碼解決方法

2019-11-10 20:02:52
字體:
來源:轉載
供稿:網友
SPRing使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType進行匹配,然后會用"Accept"的第一個值寫入 response的"Content-Type"。一般的請求都是通過瀏覽器進行的,request header中"Accept"的值由瀏覽器生成。  

有人跟蹤@ResponseBody 的實現類發現其默認的編碼是 iso-8859-1,所以顯然Ajax接受服務器端返回的中文必然是亂碼。

下面提供2中解決方法:

方法一

我遇到這個問題的時候,查閱了一下資料,采用了一個比較簡單的方法來解決這個問題,就是需要服務器返回中文的時候不使用這個注解,而是直接用HttpServletResponse的對象來完成傳輸,在服務器端可以通過response.setContentType("text/plain;charset=UTF-8");來設定編碼類型,這樣就不會出現中文亂碼了。

服務器端核心代碼如下:

[java] view plain copy print?@RequestMapping(value = "test", method = RequestMethod.POST)      public void test(HttpServletRequest request,              HttpServletResponse response) {          String result = null;          //取得客戶端傳來的值          String userName = request.getParameter("userName");          //向客戶端返回一句話          result = "您好!";            PrintWriter out = null;          response.setContentType("text/plain;charset=UTF-8");          try {              out = response.getWriter();              out.write(result.toString());          } catch (IOException e) {              e.printStackTrace();          } finally {              out.close();          }      }  返回值時根據自己的數據類型進行設置,常用的有:

response.setContentType("text/html; charset=utf-8");           htmlresponse.setContentType("text/plain; charset=utf-8");          文本response.setContentType("application/json; charset=utf-8");    數據response.setContentType("application/xml; charset=utf-8");      xml

方法二

2014-07-11

今天再次查找了一下這個問題,有了一個更好的解決方法,使用spring的BeanPostProcessor接口實現,在自己的工程中新建一個類,如下:

[java] view plain copy print?package springmvc.extention;    import java.nio.charset.Charset;  import java.util.ArrayList;  import java.util.List;    import org.springframework.beans.BeansException;  import org.springframework.beans.factory.config.BeanPostProcessor;  import org.springframework.http.MediaType;  import org.springframework.http.converter.StringHttpMessageConverter;    /**   * 解決spring MVC3 中@ResponseBody的中文亂碼問題   */    public class UTF8StringBeanPostProcessor implements BeanPostProcessor {        @Override        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {            if (bean instanceof StringHttpMessageConverter) {                MediaType mediaType = new MediaType("text", "plain", Charset.forName("UTF-8"));                List<MediaType> types = new ArrayList<MediaType>();                types.add(mediaType);                ((StringHttpMessageConverter) bean).setSupportedMediaTypes(types);            }            return bean;        }            @Override        public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {            return bean;        }    }  然后在自己的Spring配置文件中注冊這個bean就可以了,再試試自己的程序,發現問題解決了。

[html] view plain copy print?<!-- 解決使用@ResponseBody 的中文亂碼。 -->      <bean class="springmvc.extention.UTF8StringBeanPostProcessor"></bean>  

(原文地址:http://blog.csdn.NET/zhshulin)


上一篇:Leetcode 198. House Robber

下一篇:文章標題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91探花福利精品国产自产在线| 欧美福利视频网站| 一个人www欧美| 在线观看欧美日韩国产| 午夜精品久久久久久久白皮肤| 日韩中文字幕视频在线| 夜夜狂射影院欧美极品| 日韩国产激情在线| 7777精品久久久久久| 久久噜噜噜精品国产亚洲综合| 欧美日韩亚洲91| 国产视频999| 国产成人亚洲综合91精品| 日本欧美中文字幕| 91精品国产91久久久久久| 久久久久久有精品国产| 精品福利在线观看| 国产www精品| 日韩中文第一页| 国产精品一区二区久久久| 成人免费视频97| 亚洲另类激情图| 欧美在线观看网址综合| 97精品国产aⅴ7777| 久久在线精品视频| 日本人成精品视频在线| 日韩成人av在线播放| 美女撒尿一区二区三区| 日韩大陆欧美高清视频区| 欧美一级大片视频| 国产免费一区二区三区在线观看| 日韩精品视频观看| 97视频在线免费观看| 欧美精品激情在线| 成人精品一区二区三区| 亚洲国产成人精品久久| 亚洲天堂成人在线| 亚洲成人在线视频播放| 68精品久久久久久欧美| 亚洲福利小视频| 欧美亚洲国产视频| 国产精品极品尤物在线观看| 色综合久久精品亚洲国产| 欧美性少妇18aaaa视频| 亚洲xxxx在线| 97超级碰在线看视频免费在线看| 日韩专区在线播放| 69久久夜色精品国产69乱青草| 亲子乱一区二区三区电影| 日韩视频在线观看免费| 久久精品国产欧美激情| 欧美成人高清视频| 奇门遁甲1982国语版免费观看高清| 日韩欧美在线国产| 日韩中文娱乐网| 欧美午夜电影在线| 91精品久久久久久| 亚洲欧美视频在线| 国产成人一区二区在线| www.欧美三级电影.com| 精品福利在线视频| 97人人做人人爱| 色狠狠av一区二区三区香蕉蜜桃| 神马国产精品影院av| 日韩经典中文字幕在线观看| 国产精品v片在线观看不卡| 亚洲国产成人91精品| 国内精品久久久久久久| 国产在线播放91| 成人福利免费观看| 国产精品久久久久久久久久新婚| 国产日韩中文字幕| 成人xvideos免费视频| 国产精品成av人在线视午夜片| 一区二区亚洲精品国产| 国产精品久久久久秋霞鲁丝| 91国内在线视频| 国产福利视频一区| 国产精品视频免费在线| 亚洲一区二区三区在线视频| 亚洲视频在线观看| 国产成人精品视频| 久久久精品久久久久| 久久99精品久久久久久噜噜| 国产精品第一页在线| 青草青草久热精品视频在线网站| 国产日韩欧美夫妻视频在线观看| 亚洲码在线观看| 日韩av黄色在线观看| 91精品久久久久久久久久另类| 一夜七次郎国产精品亚洲| 成人免费网站在线观看| 日韩av中文字幕在线| 欧美成人激情图片网| 久久精品国产欧美亚洲人人爽| 日韩精品一区二区三区第95| 日韩欧美aⅴ综合网站发布| 欧美xxxx做受欧美.88| 欧美成人午夜激情视频| 91视频免费网站| 欧美伦理91i| 久久久999精品免费| 欧美精品午夜视频| 亚洲国产欧美一区二区三区同亚洲| 91久久国产精品91久久性色| 国产成人精品电影| 欧美激情亚洲自拍| 亚洲黄色av女优在线观看| 日韩美女激情视频| 国产精品成人观看视频国产奇米| 国产色综合天天综合网| 国产99久久精品一区二区| 国产精品久在线观看| 亚洲精品美女网站| 日本亚洲欧洲色α| 亚洲性生活视频在线观看| 亚洲色图综合久久| 一区二区三区回区在观看免费视频| 日韩va亚洲va欧洲va国产| 97婷婷大伊香蕉精品视频| 国产美女精彩久久| 亚洲成人免费在线视频| 日本韩国在线不卡| 国产精品视频免费观看www| 热99精品里视频精品| 91免费视频网站| 欧美性理论片在线观看片免费| 91精品国产综合久久香蕉| 日本一本a高清免费不卡| 欧美激情第1页| 亚洲精品国产综合区久久久久久久| 欧美国产欧美亚洲国产日韩mv天天看完整| 色99之美女主播在线视频| 亚洲国产欧美一区二区三区久久| 久99久在线视频| 亚洲欧美国产va在线影院| 日韩欧美亚洲综合| 亚洲欧美日韩网| 日本19禁啪啪免费观看www| 欧美在线视频一区二区| 亚洲欧美精品在线| 国产成人一区二区在线| 26uuu久久噜噜噜噜| 欧美性猛交xxxx富婆| 午夜精品免费视频| 亚洲女人初尝黑人巨大| 日韩中文字幕网| 欧美精品videossex88| 91精品国产色综合| 日本高清不卡的在线| 亚洲精品黄网在线观看| 亚洲第一免费网站| 日日狠狠久久偷偷四色综合免费| 国产精品丝袜久久久久久高清| 亚洲美腿欧美激情另类| 色综合色综合久久综合频道88| 91中文字幕在线| 啊v视频在线一区二区三区| 日韩av一区二区在线观看| 91在线|亚洲| 亚洲精品永久免费| 欧美资源在线观看| 国产精品久久久久久久久久99| 欧美xxxx14xxxxx性爽|