Spring/Spring 웹 MVC
[스프링 웹 MVC] 서블릿 애플리케이션
메성
2020. 2. 11. 01:55
반응형
서블릿 애플리케이션
서블릿
- 한 프로세스를 공유하는 스레드를 만들어서 요청을 처리한다.
- 이로인해, 빠르다는 장점을 가지고 있다.
서블릿 엔진 또는 서블릿 컨테이너
- 세션 관리
- 네트워크 서비스
- MIME 기반 메시지 인코딩 디코딩
- 서블릿 생명주기 관리
서블릿 애플리케이션 실행
서블릿 애플리케이션은 서블릿 컨테이너가 실행할 수 있으므로, 반드시 서블릿 컨테이너를 사용해야 한다.
서블릿 컨테이너가 서블릿 애플리케이션 실행하는 방법(서블릿의 생명주기)
- init() : 최초 요청을 서블릿 컨테이너가 받았고, 요청을 처리할 서블릿 인스턴스의 init()을 호출하여 초기화 한다.
- 최초 요청을 받았을 때 한번 초기화 하고 나면 그 다음부터는 이 과정을 생략한다.
- 서블릿을 요청한 다음부터는 클라이언트의 요청을 처리할 수 있다.
- 각 요청은 별도의 스레드로 처리하는데, 이 때 서블릿 인스턴스의 service()를 호출한다.
- service() 안에서 HTTP 요청을 받고 클라이언트로 보낼 HTTP 응답을 만든다.
- service()는 보통 HTTP Method에 따라 doGet(), doPost() 등으로 처리를 위임한다.
- 결과적으로 요청을 처리하는 것은 doGet, doPost 메소드들인 것이다.
- 각 요청은 별도의 스레드로 처리하는데, 이 때 서블릿 인스턴스의 service()를 호출한다.
- destroy() : 서블릿 컨테이너 판단에 다라 해당 서블릿을 메모리에서 내려야할 시점에 해당 메소드를 호출한다.
반응형