SpringMVC——对Ajax的处理(包含JSON类型)精要.docVIP

SpringMVC——对Ajax的处理(包含JSON类型)精要.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SpringMVC——对Ajax的处理(包含JSON类型)精要

SpringMVC——对Ajax的处理(包含 JSON 类型) 一、首先要搞明白的一些事情。 1.从客户端来看,需要搞明白: (1)要发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,怎么才能让我们写更少的代码,如何做好 JSON 数据和实体之间的对应。 (2)如何组织这些发送的数据。 2.从服务器端来看,需要搞明白: (1)SpringMVC 如何返回 JSON 数据。 (2)SpringMVC 如何处理请求的复杂数据。 3.$.ajax 的几个参数: (1)contentType: contentType: application/json;charset=utf-8,作为请求头,用来告诉服务器消息的主体是序列化后的 JSON 字符串。除了低版本的 ie 浏览器外,各大浏览器都原生支持 JSON.stringify() 对对象进行序列化。 (2)dataType:预期服务器返回的数据类型。 4.SpringMVC 是如何处理 JSON 数据的 5.总体的思想: (1)SpringMVC 能完成的,尽量借助于 SpringMVC,而不是我们手动的去解析。 (2)SpringMVC 解析不了的,尽量借助于第三方的 Jar 包来解析。 (3)SpringMVC 和 第三方 Jar 包解决不了的时候,我们再自己去解析。 二、想要搞明白第一个问题,前提是先要搞明白第一个问题:SpringMVC 是如何处理 JSON 数据的。 1.使用 HttpMessageConverterT 来处理 JSON 数据的。 Spring 的 HttpMessageConverterT 负责将请求信息转换为一个对象,将对象输出为响应信息。 2.API (1)boolean canRead(Class? clazz, MediaType mediaType); 转换器是否可将请求信息转换为 clazz 类型的对象,同时支持指定的 MIME 类型,如: text/html,application/json 等。 (2)boolean canWrite(Class? clazz, MediaType mediaType); 转换器是否可以将 clazz 类型的对象写到响应中,响应支持的类型在 mediaType 中定义。 (3)ListMediaType getSupportedMediaTypes(); 改转换器支持的 MediaType 类型。 (4)T read(Class? extends T clazz, HttpInputMessage inputMessage); 将请求信息流转换为 clazz 类型的对象。 (5)void write(T t, MediaType contentType, HttpOutputMessage outputMessage)。 将 T 类型的对象写到响应输出流中,同时指定 MediaType。 3.实现类 3.从上图可以看出,Spring 默认支持使用 Jackson来处理 JSON 问题。添加 Jackson Jar 包后,来看 RequestMappingHadlerAdapter 装配的 HttpMessageConverter: 导入的 Jackson Jar 包: 4.具体的处理方法: (1)使用 @RequestBody 和 HttpEntityT 对请求进行处理。 (2)使用 @ResponseBody 和 ResponseEntityT 对响应进行处理。 (3)@RequestBody 对处理方法的入参进行标注。 (4)@ResponseBody 对处理方法的签名进行标注。 (5)HttpEntityT 和 ResponseEntityT 作为处理方法的入参使用。 具体的使用方法会在下面例子中进行说明。 5.@RequestBody 和 @ResponseBody 是可以同时使用的。 三、上面简单介绍了 SpringMVC 是怎么处理 JSON 数据的,现在来看第二个问题:发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,这里主要指的是请求的 JSON 字符串和实体的映射。 以一个简单的实体为例:Person Person.java (1)对于简单的一个Person 对象来说,我们甚至都不需要借助于 JSON 就可以完成请求的数据与实体之间的映射。 请求: 复制代码 $(#testJson).click(function () { $.ajax({ url: testJson, type: post, data: { name : abc,

文档评论(0)

586334000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档