본문 바로가기
업무용/springjava

@ResponseBody , @RequestBody

by SEOKIHOUSE 2024. 9. 6.

 

 



 


전자정부에서 jackson라이브러리랑 dispatcher-servlet에 json받을 수 잇도록 설정함

 

pom.xml

<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-databind</artifactId>
		    <version>2.10.0</version>
		</dependency>

dispatcher-servlet.xml

<property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
            </list>
        </property>

 

<mvc:annotation-driven />

 


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
	<script>
		window.onload = function() {
			const btns = document.querySelector("#btns");
			btns.addEventListener("click", f);

			let array = [{
				name: "흰둥이",
				age: 3
			},
			{
				name: "짱구",
				age: 7
			},
			{
				name: "짱아",
				age: 4
			}];

			let jstr = JSON.stringify(array);

			function f() {
				const xhttp = new XMLHttpRequest();
				xhttp.onload = function() {

					let jobj = JSON.parse(this.responseText);
					for(let i =0;i<jobj.length; i++) {
						document.querySelector("#divs").innerHTML += "이름:" + jobj[i].name +"<br>나이:" + jobj[i].age+"<br>";
					}
					//document.querySelector("#divs").innerHTML = "이름:" + jobj.name +"<br>나이:" + jobj.age;
				}
				xhttp.open("Post","jsonPractice.do",true);
				xhttp.setRequestHeader("Content-type", "application/json");
				xhttp.send(jstr);
			}
		}
	</script>
</head>
<body>
	<button id="btns">버튼동작</button>
	<div id="divs"></div>
</body>
</html>
package test.web;

import java.util.List;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import test.vo.UserBean;

@RestController
public class JsonController {

	@RequestMapping("/jsonPractice.do")
	public List<UserBean> jsonzz(@RequestBody List<UserBean> voList) {
		return voList;
	}


}