[Java] 서블릿(servlet)과 서블릿 컨테이너(servlet container)



서블릿(servlet)은 서블릿 컨테이너 위에서 작동하는 웹서비스용 자바 인터페이스(javax.servlet.Servlet)의 객체입니다.  자바 서블릿은 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양이라고 해석할 수 있습니다. 쉽게 자바로 작성된 서버 사이트 애플리케이션이라고 생각하시면 되도 무방합니다.특징으로는 독립 실행 프로그램과 달리 진입점 즉, main 메서드가 없으며, 서블릿 컨테이너에 등록된 후 서블릿 컨테이너에 의해 생성, 호출, 소멸이 이루어집니다.



서블릿 컨테이너(servlet container)서블릿을 관리하고 동작시킬 수 있는 환경을 제공하는 서버 프로그램입니다. 컨테이너는 특정 객체의 생성과 관리를 담당하며 객체 운용에 필요한 다양한 기능을 제공합니다. 또한 HTTP요청을 받아서 해당 서블릿을 동작 시키고 그 결과를 사용자의 브라우저로 전달할 수 있는 기능하며 네트워크 통신, 서블릿의 생명주기 관리, 스레드 기반 병렬처리를 대행해 프로그래머의 고생을 덜어주는 역할을 합니다.

보통 컨테이너는 서버 안에 포함되어 배포 및 구동됩니다.


위의 그림은 WAS와 서블릿 그리고 서블릿 컨테이너의 관계과 동작방식을 나타냅니다. client의 요청을 WAS가 받아 들이고 WAS는 그 요청에 있는 java파일을 컴파일하여 class를 만듭니다. 그리고 이 class 파일을 메모리에 적재하여 Servlet 객체를 만들게 되고 이 Servlet 객체는 doPost, doGet을 통해 요청에 응답하게 됩니다.





참고 자료 : http://anster.tistory.com/128

   http://guruble.com/?p=360


이 글을 공유하기

댓글(0)

Designed by JB FACTORY