JDK : 서로 다른 버전으로 컴파일하면 문제발생소지가 있다.
오라클 같은 경우 자체 JDK를 가지고 있다.
Path를 꼭 확인 해라.
JDK 1.4 - Eclipse 3.2 , 3.3(Europa), 3.4(Ganymede)
JDK 1.5 Tiger - JAVA5 - Eclipse 3.5 Galileo
JDK 1.6 Mustang - JAVA6 - Eclipse 3.6 Helios
JDK 1.7 Dolphin
Web 개발 : Eclipse IDE for Java EE Developer
View - Package View : 클래스 경로
- Navigator View : 실제 파일 경로
Edit
* Code Asist : Ctrl + space ( Code Add : Window - Preference - Java - Editor - Templates )
* Quick-Fix : Ctrl + 1 { + jUnit } ( 테스트주도개발 방법론: 테스트 -> 개발 )
* Word-Colpletion : Alt + / (변수자동완성)
Navigator
* 족보보기 : 클래스 선택 후 "F4"
* 역추적 : 클래스 선택 후 "Ctrl + Alt + H"
* 열기 : F3 또는 Ctrl + Mouse Click
Interface(인터페이스) : 오버로드 되어야 함(역삼각형)
* 인터페이스, 형변환, 추상 클래스 : 중요함.
Refactor
* Rename : Alt + Shift + R
* Move : Alt + Shift + C
; Package 브라우저에서 Drag&Drop 으로도 가능.
Resource
Workbanch - Perspective - View
- Editor Area - Editor
: perspective는 추가,수정,삭제 가능하다. 영역이 고정되어있고, 영역내에서 유동적이다.
Menu
* [Source] - [format] - [Generate Gatters and Setters]
* Preferences -> ( Ctrl + shift + L ) x 2
* Editor 창간 전환 : Ctrl + F6 ( Preferences 에서 추가가능).
Debug
* Debuging 은 기능이 아니라 메모리를 가지고 노는 것이다.
* 지역변수는 무조건 초기화 해라.
* 메모리가 Full 될 수 있기 때문에 Garbage Collection 이 있는데,
사용하지 않는 garbage를 삭제하지 않고 HDD에 저장한다.
* 코드 컴파일하고 실행(에플리케이션에 run configuration을 생성)
* Run>Debug.. 사용하여 (debug Configuration을 셋업)
* 디버거로 메인 자바 클래스로서 사용되는 클래스 선택
* 가장 일반적인 디버깅 과정은 조건문이나 루프에서 변수와 값들을 관찰하기 위해 breakpoint 설정
* 의심이 가는 코드의 라인에 있는 mark bar(에디터 부분의 왼쪽 모서리) 더블클릭
-------
* step-into(F5)
* step-over(F6)
* step-return(F7)
* Use Step Filters : 지정클래스외에 들어가지 마라.
* Breakpoint Hit Count : 실행갯수제한 ( 설정 후 "F8" 클릭시 실행 )
Heap 영역 보기
1. [Preferences] - [General] - Show heap status 확인
2. 오른쪽 하단에 용량표시
3. 표시되는 용량 옆의 휴지통클릭하면 사용량을 줄여준다.
4. 휴지통은 자주 클릭하지 마라.(Garbage Collection)
개발방법론
* TDD개발방법론 : Quick Fix + jUnit
단위 테스트
* jUnit
java 1.4 - jUnit 3
java 1.5, 1.6 - jUnit4 ( "@" 사용 )
: "Test" 폴더 만들어서 jUnit 테스트 파일 생성. jUnit 에 개발메소드 생성 후, Quick-Fix로 메소드를 생성.
CVS 설치
* 설치시 주의사항 : admin 계정(password 가지고 있는) 필요.
* CVS NT 에서 Lockservice 실행안되면 작업관리자에서
CVS Lockservice를 프로세스 종료하고 다시 실행해야 한다.
* CVS 연결된 프로젝트를 다시 로컬에서 지정작업하려면
: Team - Disconnect ( 체크1 : CVS 폴더(local)까지 삭제 , 체크2 : 링크만 삭제)
Code-Convention
* Formatter : Ctrl + shift + F
: 문법에 맞게 소스 정렬
* CheckStyle (naming tool)
: 설치시 Preferences에 적용안되면 eclipse.ini 의 최상위에
" - clean" 을 입력하고, Restart( [File] - [Restart] ).
- 정규식이 중요하다.
ex) 메소드 규칙 : 1. 영문 소문자로 시작. 2. 최소 3글자 이상.
Web Project
*tomcat 설치 : tomcat manager 사용자는 tomcat-users.xml로 생성시키면 된다.
* war 파일로 Export 해서 tomcat 서버의 webapps에 이동시미켠 application이 등록된다.
* JavaEE( Dynamic web project ) Perspective 에서 작업.
* JSP webserver 종류 : tomcat, weblogic, jeus, SilverStream, jBoss, Glassfish
표준 JavaEE
WAR : Context - Roost
└ META-INF
└ WEB-INF : 보안폴더로 지정되어 있음(설정관련파일만 보관)
└ web.xml : 웹서버에 관련된 설정
└ classes : 개발 class
└ lib : 외부 library 등록
EJB -> WAS server( session,Entity, Message) -> JAR
EAR(엔터프라이즈) : WAR + JAR
JSP 파일 생성
* ctrl + space 를 많이 활용해라.
1. src 폴더에 Servlet 생성(Class)
2. 생성시 servlet 오류발생( javax 패키지 없음. javax 는 JavaEE에 포함. )
: 웹개발시 JavaEE까지 필요 없다. JDK TigerSE정도면 된다 .
javax는 "Build Path"로 설정하면 된다.
웹서버에 포함되어 있으니 웹서버를 library에 추가하면 Build path 설정은 필요없다.
Servlet
* do Post
* 소스 작성 후 저장시 web.xml 변경됨 ( 7버전에서는 web.xml이 없다. )
* web.xml은 아래에서 위로 읽어야 한다.
* Dynamic Web Project 생성시 버전(Dynamic web module version) 확인 후 지정. 차후 버전변경 어려움.
* Target runtime 지정하면 [Properties]에 java build path 자동 생성.
* JSP 파일은 java로 변경되는데, 확인하려면
workspace - .metadata - .plugins - org.eclipse.wst.server.core 아래의
해당 프로젝트의 폴더안에 존재한다.
* Servlet이 생성되면 web.xml이 변경됨으로 restart가 필요하다.
MVC ( model, View, Controler)
Struts
* Struts의 .jar 파일을 해당프로젝트의 /WEB-INF/lib/로 복사하면 적용된다. (Build path에서 확인 가능)
* Snippets : 하단에 있는 tab. 자주 쓰는 문구 저장기능.
* Struts 의 Config.xml 의 내용은 snippets에 만들어둔 Head를 사용해서 시작한다.
web.xml에 나오는 경로를 자서 만든다.
* 해더에 지정된 .dtd 문법책에 맞추어서 작성한다.
JDBC
* oracle : ojdbc~.jar
* Addjars 로 ojdbc파일을 불러오고, 아래의 List Drivers를 클릭하면
"Driver class Name" 에 클래스 리스트가 나온다.
* SQL plugin : http://marketplace.eclipse.org/ 에서 필요한것 설치.
* JDBC의 유의사항
: 계정정보는 보안폴더에서 관리해야 한다.
~.close(); 는 공통관리해야한다.
Str 로 문자열에 붙여쓰지말고 쿼리문은 클래스 안에 넣지마라. 쿼리문을 xml파일로 밖으로 꺼내는 것은 "iBatis"이다.
iBatis (JDBC + iBatis)
* iBatis-common-2.jar , iBatis-dao2.jar , iBatis-sqlmap-2.jar을 lib에 등록(Build path)
* iBatis 설정은 Package로 만들어야 같이 클래스가 이동한다.
/project/src/config(package)/~.xml
* xml 파일 생성시, "snippets"를 잘 이용해라.
* Content Assist 할때, 클래스명이 길면 "카멜명명법"을 이용하라.
◆ 카멜 표기법 (Camel Notation)
1. 단어와 단어 사이를 대소문자로 구분하는 방법.
2. 카멜(낙타)이라는 말은 카멜표기법으로 작성된 변수의 형태가 낙타의 혹을 닮아서 붙여진 것이다.
ex. List guestBook = (List)request.getAttribute("list");
* http://서버주소:포트/컨텍스트명/request자원
* Context명이 Url의 폴더가 된다.
* 프로젝트 생성 후 struts class, JDBC class, iBatis class 를 lib로 복사한다.
* Struts2 부터는 설정파일이 패키지안으로 들어간다. - /src/package
* xml에 한글 저장시 인코딩을 변경하면 된다.
* iBatis-config.xml : 네임스페이스 이용.
JAVADoc 문서만들기
* Generate javadoc : visibility - Public(일반 공개용)
Ant
* http://ant.apache.org/
* 프로젝트에서 build.xml 파일 추가
: Ctrl + 3 이클립스 모든 메뉴 찾기
* Ant View 보기
> build.xml 을 등록해서 실행시킬 수 있다.
> 등록된 Ant를 실행(double click)하면 Console창 실행됨
환경설정 모듈 개발(Property)
* 환결설정값은 되도록이면 한곳에서 관리하는 것이 좋다.
따라서 properties 패키지에 config.properties 파일을 생성한다.
- 폴더위치 : properties/persistence
- 파일명 : config.properties
로깅 모듈 개발 (Log4j)
* lib 폴더에 log4j 라이브러리를 저장하면 된다.
* Logging 레벨
- FATAL : 가장 크리티컬한 에러가 일어 났을 때 사용.
- ERROR : 일반 에러가 일어 났을 때 사용
- WARN : 에러는 아니지만 주의할 필요가 있을때 사용
- INFO : 일반 정보를 나타낼때 사용
- DEBUG : 일반 정보를 상세히 나타낼때 사용
jsfactory.co.kr
Posted by 홍반장