Heap 영역에
클래스 로딩하려면 Classpath 안에 있어야 함
java의 표준규약에서 -D 옵션은 커스텀 옵션임
;. : 윈도우 전용
:. : 리눅스 전용
export CLASSPAHT=$CLASSPATH:. -> :.
자바 실행시, 기본적으로 (자바 엔진에 포함된 모듈) 참조하는
클래스 있고,
와스엔진에 쓰는 ,
index.jsp 같은 거는 추가로 클래스패스
이미 톰캣 기동시 바라보게 된어있ㄴ느
/tomcat 안에 있는 곳만 바라보게끔 해야 함.

자바의 특징 : class namespce
- 세 개가 하나의 DNA처럼 고유하게 만듦
클래스 로딩방식
- 동적 로딩
- 런타임 다이나믹 로딩 : 클래스 로딩 후 기동 중에 다른 클래스 로딩(커스텀 로딩 순서 변경)
• 클래스로더 특성 4가지 개념 무조건 알아야 함(위 두개가 가장 중요)
- 계층적 구조
○ 부트스트랩
○ /$javahome/jre/lib
○ so : 자바 엔진 기동 위해 필요한 네이티브 코드
○ java -cp 는 시스템클래스로더에 속하는 클래스패스 설정하는거임
○ 부트스트랩 클래스 패스를 따로 설정할 수 있음 = xbootclassloader
○ jdbc는 tomcat engine 아래에 보통 넣어놓음
○ 계층적 구조에 의해 우선권 높낮이 나뉨
- 상위 우선로드
- 클래스 로더는 한번만 생성하면 끝
• Weblogic의 클래스로더
- EAR(EJB/WAR) : JVM 통해 호스팅하려면 기본 구조
- 신입사원 교육용.pptx
- Tomcat에서 WAS에 호스팅하려면 기본 구조 WAR
○ WAR - webINF-(lib/classes/web.xml)
○ cd web-inf
§ web.xml


서블릿: JSP html화면 나오듯이 나오고, java 코드처럼도 짤 수 있음
서블릿 매핑 : web.xml 들어가면. 누가 main.naver를 호출하면 '이 java코드를 호출해'
web.xml
- 기본적인 이콘딩
- 서블릿 매핑 이뤄져있음
EAR
- WAR
- WAR별로 클래스 로더 따로 존재
WAS 안에 특정 Application밖에 못 올라가는 것같지만…
A WAR, B WAR, C WAR 다 index.jsp 파일이 동일하게 있을때, 어떻게 A, B, C의 index.jsp 파일을 띄울것인가?
○ jeus => jeus-web-dd.xml
○ weblogic : weblogic.xml
○ jboss: jboss-web.xml
§ 공통적으로 context-root (DNS 경로 설정하듯이 ) 설정해서
• EJB
○ 화면이 없음, 로직만 있음.
○ PO 하나에서만 사용함.(JEUS 관리 콘솔 북마크 들어가서 -> Deployed Apllication보면 확인 가능함.)
EAR도 자체적으로 클래스로더 존재할 수 있음
EAR이 참조하는 패스는 WAR나 EJB보다 더 상위에 있음
isolation(EAR의 독립성) = EAR 1과 EAR2는 서로 다른 클래스로더 사용함.
• 하나의 EAR에 있는 WAR가 다른 EAR의 EJB를 사용할 수는 없음(촌수 관계 따지기 X: EAR1에서 SystemClassLoader로 올라갔다가 EAR2로 내려갈수는 없음)
Weblogic의 클래스로더
