Spring 서블릿 소개
Spring Web MVC
백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글
서블릿 애플리케이션
서블릿이란 무엇이냐?
자바 엔터프라이즈 에디션은 웹 애플리케이션 개발용 스펙과 API 제공.
요청 당 쓰레드 (만들거나, 풀에서 가져오거나) 사용
서블릿의 장점
빠르다.
플랫폼 독립적
보안
이식성
서블릿 엔진 또는 서블릿 컨테이너 (톰캣, 제티 ,언더토, … )
서블릿 스펙을 준수하는 컨테이너들임
이들의 역할을 다음과 같이 있음.
세션 관리
네트워크 서비스
MIME 기반 메시지 인코딩 디코딩
서블릿 생명주기 관리
때문에 서블릿 컨테이너가 있어야 서버를 실행 가능.
서블릿 생명 주기
서블릿 컨테이너가 서블릿 인스턴스의 init() 메소드를 호출하여 초기화
- 최초 요청을 받았을 때 한번 초기화 하고 나면 그 다음 요청부터는 이 과정을 생략
서블릿이 초기화 된 다음부터 클라이언트의 요청 처리 가능, 각 요청은 쓰레드로 처리하고 이때 서블릿 인스턴스의 service() 메소드 호출
- HTTP 요청을 받고 클라이언트로 보낼 HTTP 응답을 만든다.
- service()는 보통 HTTP Method에 따라 doGet(), doPost() 등으로 처리를 위임한다.
- 그래서 보통 doGet(), doPost()를 구현한다.
서블릿 컨테이너 판단에 따라 해당 서블릿을 메모리에서 내려야 할 시점에 detroy()를 호출한다.
Reference
인프런 백기선님의 스프링 Web MVC