:::: 개발 ::::/└ JSP & SPRING

spring json ajax 통신

nayha 2014. 3. 31. 17:26

개발하고 있는게 완전 옜 JSP 


jsp 파일 안에.. 다 때려 박는 방식..

그래도 내가 아직 늙은이는 아닌데.. 하는 생각에 스프링을 도입했다..


근데 바껴야 할 소스가 너무도 많아서 .. 꽁수를 생각했다..


jsp 페이지는 예전 그대로 두고 

ajax  에서 컨트롤러 호출해서 

데이타만 가져와서 예전 jsp에 뿌려보자..


어느정도 가닥이 잡혀서 적어둔다..





클라이언트

//제이쿼리 넣기

//$.ajax 요렇게 하믄 ajax 통신 모듈 제공

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 


 $('#tempSave').click(function() {  // 어떤(ID) 부분 클릭하면 

  var formdata = new FormData(document.getElementById('tempSaveform'));

   // 폼 정보 읽어오기


    $.ajax({

// 컨트롤러 호출  

       url: '/tempSave.do',  

       data: formdata,

       dataType: 'text',

       type: 'POST',

       success: function(response){

// json 형태로 받아옴

        var data = jQuery.parseJSON(response);

//여기서 수신된 데이타를 세팅해서 뿌려주면 됨 아래 참고 예

//$('#result').html( data.JsonLogo.image ); // 묶여서 올경우 저런식으로 데이타만 가져옴

          console.log(data );

       },error: function (jqXHR) {

        console.log(jqXHR);

        }

     });

    return false;

 });





서버

    @RequestMapping(value="/tempSave.do", method = RequestMethod.POST)  //url 과 메소드 방식 체크 

    @ResponseBody

    public  String tempSave(@ModelAttribute BoardVo boardVo) throws Exception{

      try{

     boardVo.setReturn_message("통신 성공.");

      }catch (Exception e){

 boardVo.setReturn_message("통신 실패");

   log.debug(e);

      }

return boardVo.getReturn_message();

    }


심플하다 심플해~


아참  JSON 사용을 위해 아래처럼 servlet_context 를  설정해 주어야 한다 

라이브러리도 받으시구요 ~


<mvc:annotation-driven >

<mvc:message-converters register-defaults="true">

<bean class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">

<property name="supportedMediaTypes" value = "text/plain;charset=UTF-8" />

</bean>

</mvc:message-converters>

</mvc:annotation-driven>  


메이븐 pom.xml (라이브러리)

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-annotations</artifactId>

<version>2.2.2</version>

<scope>compile</scope>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-core</artifactId>

<version>2.2.2</version>

<scope>compile</scope>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.2.2</version>

<scope>compile</scope>

</dependency>


바빠서 두서 없이 남겨요  ㅎㅎ





반응형