서블릿은 웹서버 내부에서 동작하는 자바 객체이다.

서블릿은 WAS 내에서 클라이언트의 요청을 받아 비지니스 로직을 처리하고, 응답해주는 객체이다. 정확히 말하면 객체 들이다.

이러한 객체들을 관리하는 컨테이너가 서블릿 컨테이너(WAS)이다.

먼저 서블릿을 관리하는 서블릿 컨테이너 역할과 생명주기를 알아보고,HttpServletRequest 객체에 대해서 알아보자

서블릿 컨테이너(톰캣,WAS) 역할

네트워크 통신 구현

톰캣은 네트워크 수준에서 통신 처리,서블릿은 애플리케이션 수준에서 통신을 처리한다.

톰캣은 클라이언트와 직접 통신을 하며,서블릿은 톰캣을 통하여 클라이언트의 요청을 받고 응답을 반환하는 역할을 한다.

서블릿 생명주기 관리

멀티 스레드 기반 으로 작동

KakaoTalk_20230102_113646980.jpg

서블릿 동작 과정

Servlet.png

HttpServletRequest,HttpServletResponse 타입의 객체 생성

사용자의 요청이 있으면 서블릿 컨테이너는 멀티쓰레드 방식으로 사용자의 요청별로 request,response 객체를 동시에 생성한다.

서블릿 컨테이너는 스레드 풀(ThreadPool)에 사용자별로 생성된 request,response 객체를 관리 한다.