반응형
이 글은 제가 이해한 내용을 바탕으로 작성되었기 때문에 틀린 부분이 있을 수 있습니다. 있다면 언제든지 지적해주시면 감사하겠습니다 :)
서블릿 컨테이너를 이해하기 앞서 컨테이너가 무엇인지에 대해 알아볼 필요가 있습니다.
흔히 스프링을 사용하면서 서블릿 컨테이너와 스프링 컨테이너 이 두 단어를 많이 들어봤을 겁니다. 그럼 컨테이너란 과연 무엇일까요?
# 컨테이너란?
우리가 생각하는 그 컨테이너와 용도가 비슷합니다. 무역을 할 때 상품을 관리하기 위하여 컨테이너마다 다르게 담아 배로 이송하는 것처럼 서블릿 컨테이너도 이와 비슷합니다.
호스트 운영체제에서 구동되며 그 바탕이 되는 하드웨어에 가상으로 액세스하는 게스트 운영체제를 뜻하는 가상머신과 마찬가지로, 컨테이너는 애플리케이션을 관련 라이브러리 및 종속 항목과 함께 패키지로 묶어 소프트웨어 서비스 구동을 위한 환경을 구축해줍니다.
즉, 스프링 관련한 라이브러리 등을 묶어 서비스를 위한 환경을 구축해주는 것이라고 볼 수 있습니다.
#서블릿 컨테이너란?
서블릿 컨테이너는 서블릿의 생성부터 소멸까지 일련의 과정을 관리해주는 컨테이너라고 볼 수 있습니다. 여기서 헷갈리지 말아야 할점은 서블릿과 서블릿 컨테이너는 다릅니다.
- 서블릿 : 서버 쪽에서 실행되며 클라이언트의 요청을 동적으로 처리할 수 있게끔 도와주는 자바 클래스입니다.
- 서블릿 컨테이너 : 서블릿 여러 개를 관리해주는 컨테이너 입니다.
서블릿 컨테이너는 서블릿 여러 개를 관리해준다고 볼수 있습니다.
서블릿 컨테이너는 웹 서버와 통신하기 위한 복잡한 일들(소켓 생성, 특정 포트 리스닝, 스트림 생성 등)을 알아서 해주기 때문에 개발자가 이를 직접 할 필요는 없게 해줍니다(IoC 특징). 또 서블릿 컨테이너는 요청이 들어올 때마다 새로운 자바 스레드를 만듭니다.
서블릿의 대표적인 예로는 tomcat이 있습니다.
관련 게시글
서블릿이란?
IoC란?
읽어주셔서 감사합니다.
질문은 언제나 환영합니다.
"난 반드시 백엔드 왕이 될거야"
반응형
'...' 카테고리의 다른 글
[Js] ajax 파일 업로드하기 (0) | 2021.01.18 |
---|---|
[Spring] Dispatcher-Servlet이란? (0) | 2021.01.17 |
[Spring] 스프링에서 환경 변수 사용하기 (0) | 2021.01.14 |
[Spring] 스프링 servlet-context로 jsp 경로 설정하기 (0) | 2021.01.14 |
[Spring] log4j 이용하여 로그 출력하기 (0) | 2021.01.14 |