상단

JavaScript Framework인 DWR(Direct Web Remoting)을 정리 한다.

 

DWR 설정


  • DWR 다운로드 사이트에서 dwr.jar 파일을 다운로드 한다.

    • dwr.jar 파일을 /WEB-INF/lib/ 폴더에 복사 한다.

     
  • Commons Logging 다운로드 사이트에서 commons-logging-1.1.1.jar 파일을 다운로드 한다.

    • commons-logging-1.1.1.jar 파일을 /WEB-INF/lib/ 폴더에 복사 한다.

     
  • JSON_Simple 다운로드 사이트에서 json_simple-1.1.jar를 다운르도 한다.

    • json_simple-1.1.jarr 파일을 /WEB-INF/lib/ 폴더에 복사 한다.

     
  • /WEB-INF/web.xml에 다음을 추가 한다.

 
  
    dwr-invoker
    org.directwebremoting.servlet.DwrServlet
    
      debug
      true
    
  
  
  
    dwr-invoker
    /dwr/*
  
 
  • /WEB-INF/classes/dwr.xml 파일을 생성 한다.

 
 
 
 
   
      
       
     
     
   
 
 
  • ContactService.java 파일을 생성 한다.

 
 package com.jopenbusiness.gae.smartycontact.service;
 
 import org.json.simple.JSONObject; 
 
 public class ContactService {
  	public JSONObject getHello() {
 		JSONObject obj = null;
 		 
 		obj = new JSONObject(); 
 		obj.put("name", "Hello World!");
 		return obj;
 	}
 }
 
  • 자동 생성되는 JavaScript 파일

 
 
 
 

Server Program


JSON Simple

  • 홈페이지 : http://code.google.com/p/json-simple/

  • 다운로드 : http://code.google.com/p/json-simple/downloads/list

    • json_simple.jar

     
  • JSONObject

    • import org.json.simple.JSONObject;

    • JSONObject result = new JSONObject();

    • result.put("list", ~);

    • result.toString();

     
  • JSONArray

    • import org.json.simple.JSONArray;

    • JSONArray list = new org.json.simple.JSONArray();

    • list.add(tempObj); //--- GAE에서는 list.put(tempObj)을 사용 한다.

     
  • arg (문자열)을 파싱

    • 주의 : 전달되는 문자열이 "name":"value" 형태일 때만 파싱된다. name:value는 파싱되지 않는다.

 
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.json.simple.JSONValue;
 import org.json.simple.parser.JSONParser;
 import org.json.simple.parser.ParseException;
 
                //--- 간단한 방법
 		opt = (JSONObject) JSONValue.parse(arg);
  
                //--- 복잡한 방법
 		Object obj = null;
 		try {
 			obj = parser.parse(arg);
 			opt = (JSONObject)obj;
 		} catch (ParseException e) {
 			e.printStackTrace();
 		}
 
  • Google App Engine에 있는 JSON Simple로 파싱

 
 import com.google.appengine.repackaged.org.json.JSONArray;
 import com.google.appengine.repackaged.org.json.JSONException;
 import com.google.appengine.repackaged.org.json.JSONObject;
 
 JSONObject obj = new JSONObject("JSON_문자열");
 JSONObject menu = obj.getJSONObject(name);  //--- obj.get(name);
 String id = obj.getString(name);
 JSONArray list = obj.getJSONArray(name);
 

참고 문헌


 
 

분류: JavaScript 
Spring

최종 수정일: 2024-09-30 12:26:18

이전글 :
다음글 :