블로그 이미지

calendar

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
  • total
  • today
  • yesterday
2010. 8. 15. 15:35 JAVA언어
ASCII : 영어

ISO-8859-1:영어 + 서유럽어

euc-kr : ASCII + 한글

UTF-8:다국어
영어 : ASCII : 1byte
ISO-8859-1  :  2byte
그외:3byte  --euc-kr
posted by 천상의날개
2010. 8. 14. 13:28 JAVA언어

D:\eclipse\eclipse.exe -vm javaw -data "D:\project\02_sungdong" -showlocation


'JAVA언어' 카테고리의 다른 글

정규식 사용방법  (0) 2010.08.21
CharSet 구조  (0) 2010.08.15
apache httpClient 사용시 post 전송할때 한글깨짐 해결  (1) 2010.08.05
properties 파일관리클레스  (0) 2010.08.04
Java 자료형과 동기화 방법.  (0) 2010.05.11
posted by 천상의날개
2010. 8. 5. 16:00 JAVA언어

서버 환경

[Tomcat 5.5, encoding이 utf-8일때 ]

 

HttpMethodBase method = new PostMethod("url...");

method.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");

method.addParameter("teamname", "마이팀");

HttpClient client = new HttpClient();
client.executeMethod(method);
byte[] responseMsg = method.getResponseBody();

  

System.out.println(new String(responseMsg ,"utf-8")); //응답받아온 것을 보려면 utf-8로 인코딩해서 봐야한다

'JAVA언어' 카테고리의 다른 글

CharSet 구조  (0) 2010.08.15
이클립스 실행시 워크스페이스 지정  (0) 2010.08.14
properties 파일관리클레스  (0) 2010.08.04
Java 자료형과 동기화 방법.  (0) 2010.05.11
한글깨짐 get,post 참조  (0) 2010.03.31
posted by 천상의날개
2010. 8. 4. 12:52 JAVA언어
JAVA 기본 api의 ResourceBundle 클래스    (프로젝트명으로 프로퍼티를 찾을수있음)
아파치 common프로젝트의 org.apache.commons.configuration.PropertiesConfiguration; 클레스 (절대경로로 프로퍼티를 찾음)
properites 파일안에 엔터친 다음줄도 인식하는 방법은 마지막에 \ 추가
posted by 천상의날개
2010. 5. 11. 20:45 JAVA언어

Collection 및 Map 인터페이스의 이해

 

● Collection: 가장 상위 인터페이스이다.
● Set: 중복을 허용하지 않는 집합을 처리하기 위한 인터페이스이다.
● SortedSet: 오름차순을 갖는 Set 인터페이스이다.
● List: 순서가 있는 집합을 처리하기 위한 인터페이스이기 때문에 인덱스가 있어 위치를 지정하여 값을 찾을 수 있고, 중복을 허용한다.
● Queue: 여러 개의 객체를 처리하기 전에 담아서 처리할 때 사용하기 위한 인터페이스이다. 기본적으로 FIFO를 따른다.
● Map: Map은 키와 값의 쌍으로 구성된 객체의 집합을 처리하기 위한 인터페이스이다. 이 객체는 중복되는 키를 허용하지 않는다.
● SortedMap: 키를 오름차순으로 정렬하는 Map 인터페이스이다.


◈ Set
HashSet: 데이터를 해쉬 테이블에 담는 클래스로 순서 없이 저장된다.
TreeSet: red-black이라는 트리에 데이터를 담는다. 값에 따라서 순서가 정해진다.
             HashSet보다 성능상 느리다. 데이터를 담으면서 동시에 정렬할 때 유용하다.
LinkedHashSet: 해쉬 테이블에 데이터를 담는데, 저장된 순서에 따라서 순서가 결정된다.

 

◈ List
Vector: 크기를 객체 생성시에 지정할 필요가 없는 배열클래스이다.
ArrayList: Vector와 비슷하지만, 동기화 처리가 되어 있지 않다.
LinkedList: ArrayList와 동일하지만, Queue 인터페이스를 구현했기 때문에 FIFO큐 작업을 수행한다.

 

◈ Map
Hashtable: 데이터를 해쉬 테이블에 담는 클래스이다. 내부에서 관리하는 해쉬 테이블 객체가 동기화되어 있다.
HashMap: 데이터를 해쉬 테이블에 담는 클래스이다. Hashtable 클래스와 다른점은 null 값을 허용한다는 것과 동기화되어 있지 않다는 것이다.
TreeMap: red-black 트리에 데이터를 담는다. TreeSet과 다른 점은 키에 의해서 순서가 정해진다는 것이다.
LinkedHashMap: HashMap과 거의 동일하며 이중 연결 리스트라는 방식을 하용하여 데이터를 담는다는 점만 다르다.

 

◈ Queue
PriorityQueue: 큐에 추가된 순서와 상관없이 먼저 생성한 객체가 먼저 나오도록 되어 있는 큐이다.
LinkedBlockingQueue: 선택적으로 저장할 데이터의 크기를 정할 수도 있는 FIFO기반의 링크 노드를 사용하는 블로킹 큐이다.
ArrayBlockingQueue: 저장되는 데이터의 크기가 정해져 있는 FIFO 기반의 블로킹 큐이다.
PriorityBlockingQueue: 저장되는 데이터의 크기가 정해져 있지 않고, 객체의 생성순서에 따라서 순서가 저장되는 블로킹 큐이다.
DelayQueue: 큐가 대기하는 시간을 지정하여 처리하도록 되어 있는 큐이다.
SynchronousQueue: put()메소드를 호출하면, 다른 스레드에서 take() 메소드가 호출될 때까지 대기하도록 되어 있는 큐이다.
                              이 큐에는 저장되는 데이터가 없다. API에서 제공하는 대부분의 메소드는 0이나 null을 리턴한다.

 

※ 웹 어플리케이션에서 10,000개 이상의 데이터를 저장하지 않는 이상 Set, List, Map 을 사용해도 시간상 별 차이는 없다.
Sun에서 정리한 가장 안정적인 클래스는 다음과 같다.

------------------------
인터페이스      클래스
Set                HashSet
List               ArrayList
Map              HashMap
Queue           LinkedList

------------------------

 

■ Collection 관련 클래스의 동기화
동기화 되지 않은 클래스: HashSet, TreeSet, LinkedHashSet, ArrayList, LinkedList, HashMap, TreeMap, LinkedHashMap
동기화 되어 있는 클래스: Vector, Hashtable
Collections클래스에는 최신 버전 클래스들의 동기화를 지원하기 위한 synchronized로 시작하는 메소드들이 있다.

Set s = Collections.synchronizedSet(new HashSet(...));
List list = Collections.synchronizedList(new ArrayList(...));
Map m = Collections.synchronizedMap(new HashMap(...));
 
posted by 천상의날개
2010. 3. 31. 14:40 JAVA언어

'JAVA언어' 카테고리의 다른 글

properties 파일관리클레스  (0) 2010.08.04
Java 자료형과 동기화 방법.  (0) 2010.05.11
달력 만들기  (0) 2010.03.09
페이지 요청에서부터 쿠키셋팅 POST 보내기  (0) 2010.03.05
SWT DnD 파일,텍스트 예제  (0) 2010.02.08
posted by 천상의날개
2010. 3. 9. 13:26 JAVA언어
달력만들기

'JAVA언어' 카테고리의 다른 글

Java 자료형과 동기화 방법.  (0) 2010.05.11
한글깨짐 get,post 참조  (0) 2010.03.31
페이지 요청에서부터 쿠키셋팅 POST 보내기  (0) 2010.03.05
SWT DnD 파일,텍스트 예제  (0) 2010.02.08
log4j 셋팅  (0) 2010.01.28
posted by 천상의날개
2010. 3. 5. 17:57 JAVA언어
페이지 요청에서부터 쿠키셋팅 POST 보내기

'JAVA언어' 카테고리의 다른 글

Java 자료형과 동기화 방법.  (0) 2010.05.11
한글깨짐 get,post 참조  (0) 2010.03.31
달력 만들기  (0) 2010.03.09
SWT DnD 파일,텍스트 예제  (0) 2010.02.08
log4j 셋팅  (0) 2010.01.28
posted by 천상의날개
2010. 2. 8. 11:47 JAVA언어
SWT 드레그엔 드롭 DnD예제

'JAVA언어' 카테고리의 다른 글

Java 자료형과 동기화 방법.  (0) 2010.05.11
한글깨짐 get,post 참조  (0) 2010.03.31
달력 만들기  (0) 2010.03.09
페이지 요청에서부터 쿠키셋팅 POST 보내기  (0) 2010.03.05
log4j 셋팅  (0) 2010.01.28
posted by 천상의날개
2010. 1. 28. 10:33 JAVA언어

Log4J는 다음의 LEVEL을 갖는다.
Log4J의 LEVEL을 설정할때 아래의 순위에 따라 노출 범위가 결정된다.

ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
오른쪽으로 갈수록 로그 출력이 위험 수위가 높은것만 출력 된다고 볼 수 있다.

Logger Output Hierarchy
원문링크 : http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html

OFF

The OFF has the highest possible rank and is intended to turn off logging.
로깅 해제.

ALL
The ALL has the lowest possible rank and is intended to turn on all logging.
모든 로깅.

TRACE
The TRACE Level designates finer-grained informational events than the DEBUG
세밀

DEBUG
The DEBUG Level designates fine-grained informational events that are most useful to debug an application.
디버깅.

INFO
The INFO level designates informational messages that highlight the progress of the application at coarse-grained level.
강조 정보.

WARN
The WARN level designates potentially harmful situations.
경고.

ERROR
The ERROR level designates error events that might still allow the application to continue running.
오류.

FATAL
The FATAL level designates very severe error events that will presumably lead the application to abort.
심각한 오류.
properties 설정
log4j.properties를 만들어 /WEB-INF/classes 밑에 놓으세요
파일명 : log4j.properties



VIII. 설정 포맷


로그파일명 포맷 (DatePattern)
로그파일명 포맷입니다. 날짜, 시간 및 분단위로까지 로그 파일을 분리할 수 있습니다.

형식 설명
'.'yyyy-MM 매달 첫번째날에 로그파일을 변경합니다
'.'yyyy-ww 매주의 시작시 로그파일을 변경합니다.
'.'yyyy-MM-dd 매일 자정에 로그파일을 변경합니다.
'.'yyyy-MM-dd-a 자정과 정오에 로그파일을 변경합니다.
'.'yyyy-MM-dd-HH 매 시간의 시작마다 로그파일을 변경합니다.
'.'yyyy-MM-dd-HH-mm 매분마다 로그파일을 변경합니다.



PatternLayout 포맷
로그자체를 어떤 포맷으로 남길지 결정합니다.
layout에는 HTMLLayout, PatternLayout, SimpleLayout, XMLLayout등이 있으며 PatternLayout이 일반적으로 가장 많이 쓰입니다.


형식 설명
%p debug, info, warn, error, fatal 등의 priority 가 출력된다.
%m 로그내용이 출력됩니다
%d 로깅 이벤트가 발생한 시간을 기록합니다.
포맷은 %d{HH:mm:ss, SSS}, %d{yyyy MMM dd HH:mm:ss, SSS}같은 형태로 사용하며 SimpleDateFormat에 따른 포맷팅을 하면 된다
%t 로그이벤트가 발생된 쓰레드의 이름을 출력합니다.
%% % 표시를 출력하기 위해 사용한다.
%n 플랫폼 종속적인 개행문자가 출력된다. \r\n 또는 \n 일것이다.
%c 카테고리를 표시합니다
예) 카테고리가 a.b.c 처럼 되어있다면 %c{2}는 b.c가 출력됩니다.
%C 클래스명을 포시합니다.
예) 클래스구조가 org.apache.xyz.SomeClass 처럼 되어있다면 %C{2}는 xyz.SomeClass 가 출력됩니다
%F 로깅이 발생한 프로그램 파일명을 나타냅니다.
%l 로깅이 발생한 caller의 정보를 나타냅니다
%L 로깅이 발생한 caller의 라인수를 나타냅니다
%M 로깅이 발생한 method 이름을 나타냅니다.
%r 어플리케이션 시작 이후 부터 로깅이 발생한 시점의 시간(milliseconds)
%x 로깅이 발생한 thread와 관련된 NDC(nested diagnostic context)를 출력합니다.
%X 로깅이 발생한 thread와 관련된 MDC(mapped diagnostic context)를 출력합니다.

예시) (같은 색끼리 보시면 됩니다)

위의 test.jsp를 다음 포맷으로 출력해본다면

[%c] [%C] [%d] [%F] [%l] [%L] [%m] [%M] [%n] [%p] [%r] [%t] [%x] [%X]는 다음과 같다

[test.jsp] [org.apache.jsp.test_jsp] [2005-03-10 12:37:23,561] [test_jsp.java] [org.apache.jsp.test_jsp._jspService(test_jsp.java:64)] [64] [fatal!!] [_jspService] [개행] [FATAL] [765567] [http-8080-Processor25] [] []


'JAVA언어' 카테고리의 다른 글

Java 자료형과 동기화 방법.  (0) 2010.05.11
한글깨짐 get,post 참조  (0) 2010.03.31
달력 만들기  (0) 2010.03.09
페이지 요청에서부터 쿠키셋팅 POST 보내기  (0) 2010.03.05
SWT DnD 파일,텍스트 예제  (0) 2010.02.08
posted by 천상의날개