본문 바로가기

WEB개념

[WEB개념] EAR, WAS

1. WAR (web archive)

: 서블릿 클래스 파일, JSP 파일, 지원 파일, GIF 및 HTML 파일을 포함하는 웹 모듈은 확장자가 .war (웹 아카이브) 인 JAR 파일로 패키지됩니다. 

 

WAR구조

: 기본적인 구조를 만들기 위해 java project를 생성해 아파치에서 수행가능한 WAR구조로 변경했습니다.

아래와 같이 WEB-INF디렉토리에 web.xml, lib, classes가 필요합니다. 

(classes는 파일시스템에만 존재하는 상태)

 

 

또 루트를 잡기위해 위와 같은 경로설정을합니다.

 

 

2. EAR (enterprise archive)

: 위의 모든 파일 (.jar 및 .war)은 확장자가 .ear (enterprise archive) 인 JAR 파일로 패키지되어 Application Server에 배치됩니다.

 

EAR구조 (ex  weblogic)

 

 위와 같은 구조를 가지고 있는 이유를 찾아보니 APP-INF은 모든 모듈이 사용할 공통 lib, classes가 들어간다고 합니다.

WAR APP, JAR APP모두 사용하는 라이브러리는 APP-INF경로에 두면 양쪽에 둘 필요가 없어보입니다.

 

 

3.  WAR, EAR 차이점

 WAR, EAR 파일의 가장 큰 차이점은 서로 다른 환경을 대상으로한다는 점입니다.

 

 EAR 파일을 실행하려면 완전한 Java EE (Java Platform, Enterprise Edition) 또는 WebSphere 또는 JBoss와 같은 Jakarta Enterprise Edition (EE) 호환 애플리케이션 서버가 필요합니다.

 

 WAR 파일은 Java EE Web Profile 호환 응용 프로그램 서버 만 실행하면되고 JAR 파일은 Java 설치 만 필요합니다.

 

 

 

 

 

참조

https://simuing.tistory.com/entry/JAVA-EAR-JAR-WAR-%EC%B0%A8%EC%9D%B4%EC%A0%90

https://stackoverflow.com/questions/12191794/what-difference-between-app-inf-and-web-inf-folders-in-javaee-applications