[Spring] Spring과 Ajax연결하기
리트리버J
·2020. 11. 7. 09:03
728x90
1. 먼저, Spring에서 Ajax를 사용하기 위해 pom.xml에 json dependecny를 추가해준다.
(*사용하고자 하는 version이 다를 수 있음)
<!-- json(AJAX) -->
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
2. jsp에서 원하는 곳에 $.ajax로 AJAX 프론트 로직을 구현한다.
$(function(){
$("#phone").on("keyup",function(){
let phone = $(this).val();
if(phone.length < 12){
$(".dpck_ph").hide();
$("#phDupCk").val(0);
return; // 함수 실행 중지.
}
$.ajax({
url:"phoneCheck.do",
data:{phone:phone},
type:"post",
success:function(data){
console.log(data);
if(data == "ok"){
$('#dpck_ph').css('color','green');
$('#dpck_ph').text("사용가능");
$(".dpck_ph").show();
$("#phDuplCk").val(1);
}else{
$('#dpck_ph').css('color','red');
$('#dpck_ph').text("사용불가");
$(".dpck_ph").show();
$("#phDuplCk").val(0);
}
},
error:function(jqxhr, textStatus, errorThrown){
console.log("ajax 처리 실패");
// 에러 로그
console.log(jqxhr);
console.log(textStatus);
console.log(errorThrown);
}
});
});
});
// url : Controller의 @RequestMapping 서블릿 주소,
// data : JSON객체 형태로 key : value 꼴.
key = Controller로 전달할 변수, value = 전달할 진짜 값
// type : GET / POST 설정 가능
// success : 연결 성공시 실행할 내용
// error : 연결 실패시 실행할 내용
3. Controller 구현
/**
* 휴대폰번호 중복체크 AJAX
* @param phone
* @return
* @throws IOException
*/
@ResponseBody
@RequestMapping("phoneCheck.do")
public String idCheck(String phone) throws IOException {
int result = uService.phoneCheck(phone);
if(result > 0) { // 중복 존재
return "fail";
}else {
return "ok";
}
// @ReponseBody
// 클라이언트에서 서버로 필요한 데이터를 전송하기 위해서 JSON이라는 데이터를 요청 본문에 담아서 서버로 보내면,
// 서버에서는 @RequestBody 어노테이션을 사용하여 HTTP 요청 본문에 담긴 값들을 자바 객체로 변환 시켜, 객체에 저장시킵니다.
// 서버에서 클라이언트로 응답 데이터를 전송하기 위해서 @ResponseBody 를 사용하여
// 자바 객체를 HTTP 응답 본문의 객체로 변환하여 클라이언트로 전송시키는 역할을 합니다.
}
4. Service => Dao 구현
728x90
'Spring > Spring Web' 카테고리의 다른 글
[Spring] Controller에서 Controller로 데이터 전달하기 (0) | 2020.11.07 |
---|---|
[Spring] 회원가입, 로그인 비밀번호 암호화 처리 (0) | 2020.11.07 |
[Spring] @어노테이션 정리 (0) | 2020.11.07 |
[Spring] index.jsp를 WEB-INF/views 안에 넣고 DispatcherServlet을 거치지 않고 띄우기. welcom-file 추가 (0) | 2020.11.07 |
[Spring] web.xml / servlet-context.xml의 path 분석 (0) | 2020.11.07 |