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

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

Patricia Arquette
Patricia Arquette原创
2024-11-21 00:44:18938浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn