달력

3

« 2019/3 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
  •  

'java'에 해당되는 글 2

  1. 2011.05.31 Timer 를 이용한 스케쥴 관리
  2. 2010.02.01 Json-lib 사용하기
2011.05.31 20:32

Timer 를 이용한 스케쥴 관리 개발2011.05.31 20:32

정기적인 호출이 필요한 경우 스케쥴관리를 위해 Timer 클래스를 이용한다.
이를 이용하면 리눅스의 crontab 효과를 낼 수 있다.

import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class UpdateSNS extends TimerTask{
    private URL url = null;
    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   
    public void run(){
        try{
            url = new URL("*****************");
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            int code = conn.getResponseCode();
            conn.disconnect();
            conn = null;
            System.out.println(sdf.format(new Date())+" => "+code);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
   
    public static void main(String[] args) throws Exception{
        UpdateSNS up = new UpdateSNS();
        Timer timer = new Timer();
       
        // 20분마다 호출
        timer.schedule(up, 0, 1000 * 60 * 20);
//        try{
//            Thread.sleep(5000);
//        }catch(Exception e){
//            e.printStackTrace();
//        }
//        timer.cancel();
    }
}

스케쥴관리를 위해서 Timer 객체를 만들고 schedule() 를 호출한다.
실제로 호출될 작업은 TimerTask 를 상속받아 run() 메소드에 오버라이드 시킨다.
파라메터로는 처음 시작시간과 주기적으로 실행할 시간을 적는다.
위의 예에서는 프로그램이 시작하자마자 스케쥴이 시작되고 20분마다 재호출된다.
스케쥴을 멈추기 위해서는 cancel() 함수를 호출한다.
위에서는 멈추지 않고 계속 호출하도록 하였기 때문에 주석처리하였다.

TAG java, Timer
Posted by 에드몽단테스
2010.02.01 16:00

Json-lib 사용하기 개발2010.02.01 16:00

JSON 은 자바스크립트에서 eval()함수를 통해 문자열을 쉽게 파싱하기 위한 방법이다.
보통은 {key:'value'} 이런 형식을 갖는데 이를 쉽게 처리해주는 것이 json-lib 이다.
물론 json-lib를 사용하지 않고 직접 문자열을 만들어 주어도 상관없다.
약간의 귀찮음과 길어진 코딩이 나쁘지 않다면 말이다.

json-lib 를 사용하기 위해서는 다음과 같은 라이브러리가 필요하다. (필수)
  • jakarta commons-lang 2.4
  • jakarta commons-beanutils 1.7.0
  • jakarta commons-collections 3.2
  • jakarta commons-logging 1.1.1
  • ezmorph 1.0.6

 json.org 에서 다운로드 받을 수 있다.


다음은 간단한 예제이다.


JSONObject json = new JSONObject();
json.put("username", "홍길동");
json.put("homepage", "hong.com");
json.put("comment", "일지매);


PrintWriter writer = response.getWriter();

writer.print(json.toString());

writer.close();


json 객체를 toString()함수를 통해 문자열로 만들면 다음과 같은 값이 나온다.


{"username":"일지매","homepage":"hong.com","comment":"일지매"}

 

배열을 사용하고 싶을 때는 JSONArray 를 이용하면 된다.


JSONArray jarray = new JSONArray();

jarray.add("홍길동");

jarray.add("일지매")

json.put("hello", jarray);


json.toString();   // {"username":"일지매","homepage":"hong.com","comment":"일지매","hello":["홍길동","일지매"]}




TAG java, json
Posted by 에드몽단테스