ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • GSON 다운, 설치 및 사용법
    Web/환경설정 2018. 9. 3. 15:04

    GSON은 Google JSON의 약어로 구글에서 제공하는 툴이다. 자바에서 생성한 객체를 매개변수로 넣으면 Gson 객체를 생성해 tojson 메소드를 사용하면 Map으로 매칭시킨 데이터들을 JSON 포맷의 String으로 반환해줘 json 포맷으로 일일이 작성해야 하는 번거로움을 줄여준다.


    public class DoCheckDuplicateUserIdServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
        private UserService userService;   
    	
    	// 입력할때마다 호출되어 userId가 USR 테이블의 USR_ID 에 중복되는 값이 있는지 확인
    	
        public DoCheckDuplicateUserIdServlet() {  
        	userService = new UserServiceImpl();
        }
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doPost(request, response);
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		String userId = request.getParameter("userId");
    		boolean isDuplicated = userService.isDuplicatedUserId(userId);
    		
    		StringBuffer json = new StringBuffer();
    		json.append(" { ");
    		json.append(" \"status\" : \"success\", "); // 요청한 것 잘 처리했고,
    		json.append(" \"duplicated\" : " + isDuplicated); // 그 결과는 isDuplicated이다.
    		json.append(" } ");
    		
    		// json 내용을 브라우저에 전송
    		// 지금 내용은 json 형태의 String을 브라우저에 전송하는 것뿐.
    		// JSON.parse() 함수 통해 json 형태로 변환해 사용해야 한다.
    		PrintWriter writer = response.getWriter();
    		writer.write(json.toString());
    		writer.flush();
    		writer.close();
    	}
    }
    

    다음 코드는 StringBuffer 클래스와 append 메소드를 이용해 json 포맷을 직접 작성했다.

    public class DoCheckDuplicateUserIdServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
        private UserService userService;   
    	
    	// 입력할때마다 호출되어 userId가 USR 테이블의 USR_ID 에 중복되는 값이 있는지 확인
    	
        public DoCheckDuplicateUserIdServlet() {  
        	userService = new UserServiceImpl();
        }
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doPost(request, response);
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		String userId = request.getParameter("userId");
    		boolean isDuplicated = userService.isDuplicatedUserId(userId);
    		
            // Gson 객체 이용. StringBuffer, append() 함수를 사용할 필요가 없어진다.
            Map map = new HashMap();
            map.put("status", "success");
            map.put("duplicated", isDuplicated);
            Gson gson = new Gson();
            
            String json = gson.toJson(map);
            // Gson 객체가 map의 데이터들을 json 형태의 String으로 반환한다.
            // 이를 response에 담아보내면 된다.
    		PrintWriter writer = response.getWriter();
    		writer.write(json.toString());
    		writer.flush();
    		writer.close();
    	}
    }
    

    제이슨 객체를 이용하는 전형적 패턴이다. Map 객체에 put 메소드를 통해 담고 난 후 toJson 메소드의 매개변수로 담으면 제이슨 포맷 String으로 변환해준다. 다운받는 방법



    2. gson 검색 후 찾아 클릭

    3. 최신 버전 클릭

    4. JAR 파일 다운로드. 

    5. Dynamic Web project의 WEB-INF 하위에 lib 폴더를 만들어 복사 붙여넣기하면 사용 가능하다.




Designed by Tistory.