** 해당 게시글은 인프런 김영한님의 [스프링 부트 - 핵심 원리와 활용] 강의를 듣고 작성된 게시글입니다.
외장 서버 VS 내장 서버
예전 자바로 웹 애플리케이션을 개발할 때에는 먼저 서버에 톰캣 같은 WAS를 설치했다. 그리고 WAS에서 동작하도록 서블릿 스펙에 맞추어 코드를 작성하고, WAR 형식으로 빌드해서 war 파일을 만들었다. 이렇게 만들어진 war 파일을 WAS에 전달해 배포하는 방식으로 전체 개발 주기가 동작했다.
하지만 최근에는!
스프링 부트가 내장 톰캣을 포함하고 있다.
애플리케이션 코드 안에 톰캣 같은 WAS가 라이브러리로 내장되어있어 코드를 작성하고 JAR로 빌드한 다음에 해당 JAR를 원하는 위치에서 실행하기만 하면 WAS도 함께 실행된다.
그렇다면 스프링 부트의 내장 톰캣은 어떻게 돌아가는 것일까?
천천히 예전 방식으로 사용하며 단계를 밟아가 보자. 그럼 스프링 부트가 돌아가는 방식도 알 수 있을 것이다.