Spring/Spring 웹 MVC

[스프링 웹 MVC] 서블릿 애플리케이션

메성 2020. 2. 11. 01:55
반응형

서블릿 애플리케이션

서블릿

  • 한 프로세스를 공유하는 스레드를 만들어서 요청을 처리한다.
  • 이로인해, 빠르다는 장점을 가지고 있다.

서블릿 엔진 또는 서블릿 컨테이너

  • 세션 관리
  • 네트워크 서비스
  • MIME 기반 메시지 인코딩 디코딩
  • 서블릿 생명주기 관리

서블릿 애플리케이션 실행

서블릿 애플리케이션은 서블릿 컨테이너가 실행할 수 있으므로, 반드시 서블릿 컨테이너를 사용해야 한다.

서블릿 컨테이너가 서블릿 애플리케이션 실행하는 방법(서블릿의 생명주기)

  • init() : 최초 요청을 서블릿 컨테이너가 받았고, 요청을 처리할 서블릿 인스턴스의 init()을 호출하여 초기화 한다.
    • 최초 요청을 받았을 때 한번 초기화 하고 나면 그 다음부터는 이 과정을 생략한다.
  • 서블릿을 요청한 다음부터는 클라이언트의 요청을 처리할 수 있다.
    • 각 요청은 별도의 스레드로 처리하는데, 이 때 서블릿 인스턴스의 service()를 호출한다.
      • service() 안에서 HTTP 요청을 받고 클라이언트로 보낼 HTTP 응답을 만든다.
      • service()는 보통 HTTP Method에 따라 doGet(), doPost() 등으로 처리를 위임한다.
      • 결과적으로 요청을 처리하는 것은 doGet, doPost 메소드들인 것이다.
  • destroy() : 서블릿 컨테이너 판단에 다라 해당 서블릿을 메모리에서 내려야할 시점에 해당 메소드를 호출한다.
반응형