본문 바로가기

Spring/MVC

서블릿 애플리케이션

Contents

  • 서블릿이란?

  • 서블릿의 특징

  • 서블릿 컨테이너

  • 서블릿의 생명주기

 

서블릿이란?

 

MVC 의 기초부터 천천히 알아보도록 하자

스프링 MVC 는 서블릿 기반의 웹 을 쉽게 만들게 해주는 프레임 워크다

이 스프링 MVC 를 알기 위해선 먼저 서블릿에 대해서 알아봐야한다.

 

그럼 여기서 서블릿은 무엇이냐?

JAVA EE 는 웹 애플리케이션 개발용 스펙과 API 를 제공하는데,

그 api 중 하나가 httpServelet 이다.

 

 

서블릿의 특징?

 

서블릿은 프로세스를 만들고 죽이는게 아니라

한 프로세스를 공유하는 스레드를 만들어서 요청을 처리한다.

 

 

 

 

 

서블릿 컨테이너란?

 

서블릿 스펙을 구현한 컨테이너다

톰캣등은 서블릿 컨테이너다 .

 

이 톰켓등 컨테이너들은 어떻게 서블릿을 초기화 하고 실행하고 사용해야하는지

서블릿의 라이프 사이클을 관리 할 줄 안다.

 

우리는 서블릿 어플리케이션을 직접적으로 사용할 수 없기 때문에

우리는 반드시 서블릿 컨테이너를 사용해야한다.

 

 

서블릿 생명주기

서블릿 컨테이너가 서블릿을 실행하는 방법 

 

서블릿의 생명주기는 다음과 같다

 

init() 은 최초 요청을 서블릿 컨테이너가 받았고

해당 서블릿을 찾았다면 최초에 init() 을 실행하게 된다.

 

그 다음 해당 요청을 처리하기 위해 메소드에 따라서 doGet, doPost 등을 실행시켜 준다.

 

* 이 과정 중에 에플리케이션을 초기에 띄우게 되면 

사용자의 요청에 따라 서블릿이 실행되는 속도를 조금 더 빠르게 하기 위해

모든 서블릿을 한번씩 실행하게 된다.

서블릿의 init()을 모두 수행하게 하기 위해서 *

 

그 후 부터는 init이 생략됨.

 

그 후 서블릿 컨테이너의 재량것 판단으로 

이 서블릿을 더이상 메모리에 올려 놓지 않아도 된다고 생각한다면

특히, 서블릿 컨테이너가 죽을 때 destroy 가 꼭 호출되게 되어있다.

 

 

 

 

'Spring > MVC' 카테고리의 다른 글

Dispatcher Servlet  (0) 2020.02.08
스프링 MVC 연동  (0) 2020.02.07
스프링 IOC 컨테이너 연동  (0) 2020.02.06
서블릿 리스너와 필터  (0) 2020.02.06
서블릿이란?  (0) 2019.11.17