김영한 강사님의 '스프링 부트 - 핵심 원리와 활용' 참고

전통적인 방식/WAR - 외장 서버(WAS)
서버에 톰캣 같은 WAS(웹 애플리케이션 서버)를 설치 후 WAS에서 동작하도록 서블릿 스펙에 맞추어 코드를 작성하고 WAR 형식으로 빌드
→ 만들어진 war 파일을 WAS에 전달해서 배포
이러한 방식은 WAS 기반 위에서 개발하고 실행해야 한다.
(IDE 같은 개발 환경에서도 WAS와 연동해서 실행되도록 복잡한 추가 설정이 필요)
WAR(Web Application Archive)란?
웹 애플리케이션 서버(WAS)에 배포할 때 사용하는 파일이다.
WAR는 웹 애플리케이션 서버 위에서 실행되며, HTML 같은 정적 리소스와 클래스 파일을 모두 함께 포함하기 때문에 JAR와 비교해서 구조가 더 복잡하다.
WAR 구조
WEB-INF
│ classes(실행 클래스 모음)
│ lib(라이브러리 모음)
│ web.xml(웹 서버 배치 설정 파일, 생략 가능)
index.html(정적 리소스)
최근 방식/JAR - 내장 서버(Spring Boot)
스프링 부트가 내장 톰캣을 포함(애플리케이션 코드 안에 톰캣 같은 WAS가 라이브러리로 내장)
→ 코드를 작성하고 JAR로 빌드한 다음에 해당 JAR를 원하는 위치에서 실행하기만 하면 WAS도 함께 실행
JAR(Java Archive)란?
여러 클래스와 관련 리소스를 묶어서 압축한 압축 파일이다.
JVM 위에서 직접 실행되거나 또는 다른 곳에서 사용하는 라이브러리로 제공된다.
직접 실행하는 경우 main() 메소드가 필요하고, MANIFEST.MF 파일에 실행할 메인 메소드가 있는 클래스를 지정해두어야 한다.
'Middleware(WAS) > Java' 카테고리의 다른 글
| JSP Cache (0) | 2026.04.16 |
|---|---|
| Server Performance Stats (0) | 2026.02.23 |
| [Database] Connection Pool, DataSource (0) | 2023.10.24 |
| Thread 및 Thread Dump (0) | 2023.08.29 |