1. Stream을 이용한 전송
1-1
ajax를 사용하기위해서는 JQuey CDN이 필요하다
1-2 Gson을 변환하기위해서는 GsonLib가 필요하다
Maven 부분을 복사한뒤 pom.xml에 붙여다 준다.
1-3 Gson을 생성할때는 GsonBuilder()를 이용한다
•
GsonController
1. Gson을 생성 → GsonBuilder 이용 , 2.Stream으로 내보내기 위해서 HttpServlerResponse를 이용(매개변수에도 작성필수) 3.gson.toJson(memberList) → memberList를 Json문자열로 반환
4. Encoding을 하기위해서 response.setContentType("application/json; charset=UTF-8");을 이용한다 application/json은 MIME타입을 의미한다.
1. stream을 이용하는 반환은 HttpServletResponse response를 이용하여 하는 방식이고 직접적으로 response를 사용하여 반환하는것이라서 종속적인관계가 형성된다. 그래서 권장하지않는 방법중에 하나이다.
1-4 main.jsp
memberInfo1 table를 생성한다 tbody부분은공백으로설정
memberInfo1에 정보를 불러오기위해서 비어있는 tbody에 넣어줘야한다 그래서 const $table = $("#memberInfo1 tobody"); 로 설정후 table을 백지로 만들기위해 .html("")이용
2.@ResponseBody를 이용하여 전송
stream을 이용하는 방식과 유사하나 HttpServletResponse respose를 이용하지않고 어노테이션@ResponsBody를 이용하는 방식이다 @GetMapping부분에(value값이랑 produces부분을 넣어야한다) HttpSerlvetResponse response를 이용하지않아 종속적인관계에서 벗어나기때문에 이 방법이 권장된다.
main.jsp 작성은 stream방식과 동일하게하면된다.
3.jsonView를 이용하여 ModelAndView에 반환하는 방법(3.jsonView를 이용한 BeanNameViewResolver로 응답하기)
3-1 jsonView의 특징
jsonView를 이용하여 ModelAndVIew에 반환하는방법
•
ModelAndView에 값을 담아 넘기는것
•
json에서 제공하는 jsonView를 등록
•
뷰 이름 jsonView넘어오면 jsp가아닌 json로 응답하라는 resolver방식 전송하려는 객체를 ModelAndview에 담고 view이름을 jsonView로 설정하여 반환
jsonView라는 이름의 bean이 존재하는 경우 jsp응답이 아닌 json을 로응답할 수 있는뷰 리조버인 BeanNameViewResolver를 이용한다.
jsonView 빈등록하는 방법 ( 1. mavenRepository에서 JsonLib4Spring을 검색하고 maven탭에서 정보를 복사해서 pom.xml에 붙여준다 2.servlet-context.xml에 들어가 jsonView를 할수 있게 bean등록을 해준다