Spring 서블릿 소개

Spring Web MVC

백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글

서블릿 애플리케이션

서블릿이란 무엇이냐?

자바 엔터프라이즈 에디션은 웹 애플리케이션 개발용 스펙과 API 제공.

요청 당 쓰레드 (만들거나, 풀에서 가져오거나) 사용

서블릿의 장점

  • 빠르다.

  • 플랫폼 독립적

  • 보안

  • 이식성

서블릿 엔진 또는 서블릿 컨테이너 (톰캣, 제티 ,언더토, … )

서블릿 스펙을 준수하는 컨테이너들임

이들의 역할을 다음과 같이 있음.

  • 세션 관리

  • 네트워크 서비스

  • MIME 기반 메시지 인코딩 디코딩

  • 서블릿 생명주기 관리

때문에 서블릿 컨테이너가 있어야 서버를 실행 가능.

서블릿 생명 주기

  1. 서블릿 컨테이너가 서블릿 인스턴스의 init() 메소드를 호출하여 초기화

    • 최초 요청을 받았을 때 한번 초기화 하고 나면 그 다음 요청부터는 이 과정을 생략
  2. 서블릿이 초기화 된 다음부터 클라이언트의 요청 처리 가능, 각 요청은 쓰레드로 처리하고 이때 서블릿 인스턴스의 service() 메소드 호출

    • HTTP 요청을 받고 클라이언트로 보낼 HTTP 응답을 만든다.
    • service()는 보통 HTTP Method에 따라 doGet(), doPost() 등으로 처리를 위임한다.
    • 그래서 보통 doGet(), doPost()를 구현한다.
  3. 서블릿 컨테이너 판단에 따라 해당 서블릿을 메모리에서 내려야 할 시점에 detroy()를 호출한다.

Reference

인프런 백기선님의 스프링 Web MVC



© 2022. by minkuk

Powered by minkuk