首页 > Java > java教程 > 如何使用 Spring MVC 和 jQuery 双向传输 JSON 数据?

如何使用 Spring MVC 和 jQuery 双向传输 JSON 数据?

Patricia Arquette
发布: 2024-11-21 00:44:18
原创
1002 人浏览过

How to Bidirectionally Transfer JSON Data with Spring MVC and jQuery?

使用 JQuery、Spring MVC 和 JSON 解决双向数据传输

尽管使用 @ResponseBody 成功实现了 Java 到 JSON 数据传输,但实现其反向路径仍然很困难。难以捉摸。本文深入探讨了使用 @RequestBody 将 JSON 序列化回 Java 对象的解决方案。

成功的先决条件

为了确保无缝体验,请确保满足以下条件:

  • 正确的Jackson配置:验证MappingJacksonHttpMessageConverter是否已注册,通常通过来实现XML 中或 Java 中的 @EnableWebMvc。

综合示例

为了说明解决方案,请考虑以下示例:

web.xml:

<servlet>
  <servlet-name>json</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>json</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>
登录后复制

json-servlet.xml:

<beans>
  <import resource="classpath:mvc-context.xml" />
</beans>
登录后复制

mvc-context.xml:

<beans>
  <mvc:annotation-driven />
  <context:component-scan base-package="test.json" />
</beans>
登录后复制

TestController(控制器类):

@Controller
@RequestMapping("/test")
public class TestController {

  @RequestMapping(method = RequestMethod.POST, value = "math")
  @ResponseBody
  public Result math(@RequestBody final Request request) {
    ...
  }

}
登录后复制

请求(POST 请求的 POJO):

public class Request {
  private int left;
  private int right;
  ...
}
登录后复制

结果(序列化响应的 POJO):

public class Result {
  private int addition;
  private int subtraction;
  private int multiplication;
  ...
}
登录后复制

测试解决方案

执行命令 mvn jetty:run 并发送以下 POST 请求:

  • URL:http://localhost:8080/test/math
  • MIME 类型:application/json
  • 帖子正文:{ "left": 13, "right" : 7 }

您应该收到的响应:

{"addition":20,"subtraction":6,"multiplication":91}
登录后复制

这演示了使用 @RequestBody 在 JSON 和 Java 之间进行双向数据传输。

以上是如何使用 Spring MVC 和 jQuery 双向传输 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板