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

首頁 > 編程 > JSP > 正文

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

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

springMVC解決ajax請求亂碼的問題

前言:

最近在項目的使用過程中發現在springmvc的項目中,使用返回頁面的請求方式,數據都能正常顯示,但是對于ajax的請求,始終顯示亂碼。首先第一種是因為我們在web.xml中配置了spring的字符編碼過濾器,那么使用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的亂碼問題,如有疑問請留言或到本站社區交流,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产久精国产思思| 国产精品久久99久久| 欧美又大又粗又长| 中文字幕精品网| 成人午夜在线视频一区| 国产一区二区三区在线视频| 国产精品视频网址| 国产成人精品在线| 国产精品露脸av在线| 成人美女av在线直播| 美女av一区二区三区| 亚洲欧美日韩中文在线制服| 亚洲国产精品va在线观看黑人| 精品人伦一区二区三区蜜桃网站| 亚洲自拍偷拍第一页| www欧美xxxx| 国产91在线播放九色快色| 亚洲欧美日韩中文在线| 日韩av有码在线| 欧美成人精品不卡视频在线观看| 136fldh精品导航福利| 国产精品美乳一区二区免费| 欧美xxxx做受欧美.88| 欧美性猛交xxxx| 亚洲精品视频网上网址在线观看| 大胆欧美人体视频| 国产精品精品视频| 午夜精品久久久久久99热软件| 欧美性20hd另类| 久久天天躁夜夜躁狠狠躁2022| 欧美精品在线播放| 欧美性猛交xxxx乱大交极品| 亚洲精品免费一区二区三区| 成人妇女淫片aaaa视频| 欧美黑人极品猛少妇色xxxxx| 欧美激情亚洲精品| 一本色道久久综合狠狠躁篇怎么玩| 亚洲第一精品夜夜躁人人爽| 国产在线拍揄自揄视频不卡99| 中国日韩欧美久久久久久久久| 欧美精品电影在线| 黄色一区二区在线观看| 亚洲欧美日韩直播| 欧美一级大胆视频| 中国日韩欧美久久久久久久久| 日本精品久久久久影院| 精品网站999www| 亚洲欧美日韩成人| 国产精品激情av电影在线观看| 久久国产精品99国产精| 精品一区二区三区三区| 日韩一级裸体免费视频| 国产在线一区二区三区| 国产精品国产三级国产aⅴ9色| 亚洲国产高清福利视频| 久久视频在线免费观看| 亚洲视频在线观看| 俺去亚洲欧洲欧美日韩| 欧美大奶子在线| 国产视频久久久久| 欧美日韩国产一区二区| 日韩视频精品在线| 亚洲欧洲日产国产网站| 国产精品日韩在线| 最近中文字幕mv在线一区二区三区四区| 久久夜精品va视频免费观看| 亚洲欧美在线磁力| 这里只有视频精品| 国模精品系列视频| 最近2019免费中文字幕视频三| 久久99青青精品免费观看| 在线a欧美视频| 久久视频在线免费观看| 亚洲国产福利在线| 国产成人精品在线观看| 91在线观看免费观看| 亚洲一区二区国产| 97国产成人精品视频| 欧美午夜电影在线| 久久成人人人人精品欧| www.99久久热国产日韩欧美.com| 亚洲黄在线观看| 国产精品一区二区女厕厕| 国产91成人在在线播放| 亚洲情综合五月天| 亚洲欧美中文字幕| 中文字幕亚洲综合久久筱田步美| 不卡在线观看电视剧完整版| 国产精品狼人色视频一区| 亚洲欧洲激情在线| 日韩国产高清污视频在线观看| 在线日韩日本国产亚洲| 成人国产精品久久久| 久久精品色欧美aⅴ一区二区| 91高清在线免费观看| 国产日韩欧美视频在线| 久久亚洲国产精品| 国产97在线观看| 日韩在线观看免费全集电视剧网站| 日韩av影院在线观看| 久久精品精品电影网| 日本欧美在线视频| 欧美最猛性xxxxx免费| 国产精品久久久久一区二区| 一区二区三区亚洲| 日韩国产在线看| 亚洲国产欧美一区二区三区同亚洲| 欧美视频在线观看免费网址| 人人澡人人澡人人看欧美| 亚洲开心激情网| yellow中文字幕久久| 精品国产一区二区三区在线观看| 久久99久久亚洲国产| 日韩少妇与小伙激情| 久久成人18免费网站| 免费91麻豆精品国产自产在线观看| 国产精品久久久久久久久借妻| 91亚洲精品在线观看| 欧美国产日本在线| 亚洲欧洲午夜一线一品| 中文字幕亚洲在线| 九九热精品视频| 国产一区二区三区四区福利| 国产精品久久久久久亚洲调教| 91日本在线观看| 96pao国产成视频永久免费| 26uuu亚洲国产精品| 久久伊人精品一区二区三区| 久久亚洲春色中文字幕| 久久久国产精品亚洲一区| 国产精品夜间视频香蕉| 成人性生交大片免费看视频直播| 成人a免费视频| 91禁外国网站| 久久久中精品2020中文| 成人免费淫片视频软件| 午夜精品免费视频| 国产91在线播放| 亚洲欧美精品中文字幕在线| 国产精品久久久久久av福利| 国产成人97精品免费看片| 精品成人乱色一区二区| 国产黑人绿帽在线第一区| 亚洲第一色在线| 色偷偷av亚洲男人的天堂| 久热精品视频在线免费观看| 国产精品96久久久久久| 久久香蕉国产线看观看网| 国产精品爽爽爽爽爽爽在线观看| 91亚洲精品一区二区| 亚洲成人亚洲激情| 91麻豆桃色免费看| 欧美日韩国产精品一区| 日韩在线观看精品| 欧洲亚洲免费在线| 91网站在线免费观看| 日本精品视频在线播放| 欧美疯狂做受xxxx高潮| 国产脚交av在线一区二区| 97免费视频在线播放| 欧美精品久久久久久久免费观看| 久久午夜a级毛片| 一区二区国产精品视频| 欧美在线视频网|