겉바속촉

Servlet Container 본문

IT 일기 (상반기)/JAVA

Servlet Container

겉바속촉 2022. 5. 27. 14:39
728x90
반응형

 

Servlet Container

 

개념

- 서블릿을 관리해주는 컨테이너

- 클라이언트의 요청을 받아주고 응답할 수 있도록 웹서버와 소켓으로 통신

- 톰캣이 대표적이며, 실제로 웹 서버와 통신하여 JSP - Servlet이 작동하는 환경을 제공해줌

 

 

역할

- 웹서버와 통신 지원 

  : 서블릿 컨테이너는 통신을 손쉽게 할 수 있도록 API로 기능을 제공함

- 멀티 쓰레드 관리

  : 요청이 올 때마다 쓰레드 생성 - HTTP 서비스 메소드 실행 - 쓰레드 자동 소멸

- 서블릿 life cycle 관리

  : 서블릿 클래스를 로딩 후 인스턴스화 - 초기화 메소드 호출 - 요청이 오면 적절한 서블릿 메소드 호출

 

 

  1. 클라이언트 요청을 받은 후 해당 서블릿이 없다면 init() 메서드 호출
    ***init()메서드는 처음 한번만 실행되며 공통적으로 사용할 경우 오버라이딩하여 사용
  2. 클라이언트 요청에 따라 service()메서드를 통해 doGet() 또는 doPost() 로 응답
  3. HttpServletRequest, HttpServletResponse에 의해 request와 response 객체 제공됨
  4. 컨테이너가 종료 요청을 하는 경우 destroy()메서드가 호출되며 이 역시 한번만 실행됨

 

 

 

 

 

Servlet 동작 원리

 

톰캣 구동 --> JVM 구동 --> 서블릿을 처리할 수 있는 환경 제공

  1. 브라우저에 클라이언트의 서블릿 요청
  2. WAS안에 웹 서버가 서블릿 요청을 인식하여 컨테이너에 전달
  3. 서블릿이 스레드를 기동하며 해당 서블릿 객체를 생성하여 수행
  4. 수행 결과를 웹 서버에 전송 후 클라이언트에 전송

 

 

 

728x90
반응형

'IT 일기 (상반기) > JAVA' 카테고리의 다른 글

WEB 서버 & WAS  (0) 2022.05.27
클래스와 객체 - 메서드  (0) 2022.05.27
Servlet의 개념  (0) 2022.05.27
클래스와 객체 - 개념  (0) 2022.05.26
제어 흐름 - continue, break  (0) 2022.05.26