>  기사  >  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으로 문의하세요.