Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Spring
- 암호화
- autowired
- 비트코인
- websocket
- EC2
- CSS
- 알고리즘
- node.js
- JavaScript
- SQL
- phaser
- 블록체인
- JSP
- tiles.xml
- Servlet
- express
- RDS
- 도커
- model1
- 웹게임
- Cookie
- AWS
- 웹소켓
- jQuery
- PL/SQL
- HTML
- Ajax
- 배포
- docker
Archives
- Today
- Total
記錄
Spring) ajax _2(@ResponseBody, @RequestBody 사용) 본문
1. pom.xml 에서 jackson dependency 선언
(비동기로 json타입의 데이터를 가져올 것이기 때문에)
<!-- jackson lib -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.3</version>
</dependency>
2. DispatcherServlet 에 다음과 같이 선언(네임스페이스에 유의, xmlns:mvc 설정과 이를 이용한 맨 밑 두 줄)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
<!-- @ResponseBody messageConverter 동작 -->
<mvc:annotation-driven />
<context:component-scan base-package="kosta.controller" />
<bean name="/index.kosta" class="org.springframework.web.servlet.mvc.
ParameterizableViewController">
<property name="viewName" value="index"></property>
</bean>
</beans>
3. 컨트롤러에서 아래와 같이 처리 (@ResponseBody, @RequestBody 설정)
@RequestMapping(value="response2.kosta",method=RequestMethod.POST)
public @ResponseBody Employee add(@RequestBody Employee emp)
// 응답 타입에 @ResponseBody 설정해서 이를 return하면 json으로 자동 변환
// 파라미터에는 @RequestBody (객체 형태로 데이터 받기)
// Employee의 멤버 필드명과 보낸 데이터의 key값이 일치해야 함
{ System.out.println("response");
System.out.println(emp.toString());
// dto를 json 형태로 넘기게 된다
return emp;
}
}
4. 비동기 요청 코드
var _param = {firstname:$("#firstName").val(), lastname:$("#lastName").val() ,
email:$("#email").val()};
_data = JSON.stringify(_param); //jsonString으로 변환
alert(_data);
$.ajax({
type : 'POST',
url : "response2.kosta",
cache: false,
dataType: "json",
data: _data,
processData: false,
contentType: "application/json; charset=utf-8",
success : function(data, status){
console.log("status:"+status+","+"data:"+data);
alert(data.email);
},
error: function(request, status, error){
//alert("loading error:" + request.status);
console.log("code : " + request.statusText + "\r\nmessage : "
+ request.responseText);
}
});
'Web > Spring framework' 카테고리의 다른 글
Spring) 웹소켓_2) 멀티채팅 (2) | 2018.05.13 |
---|---|
Spring) 웹소켓_1) 기본 개념 (Echo를 예시로) (1) | 2018.05.13 |
Spring) ajax _1(MappingJackson2JsonView 사용) (0) | 2018.05.11 |
Spring) security + 암호화 세팅 (0) | 2018.05.10 |
Spring+Mybatis+Tiles 4) Tiles의 사용(layout.jsp를 중심으로) (0) | 2018.05.06 |
Comments