[Java] 서블릿(servlet)과 서블릿 컨테이너(servlet container)
- Language & Solution/Java
- 2017. 5. 15. 23:15
서블릿(servlet)은 서블릿 컨테이너 위에서 작동하는 웹서비스용 자바 인터페이스(javax.servlet.Servlet)의 객체입니다. 자바 서블릿은 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양이라고 해석할 수 있습니다. 쉽게 자바로 작성된 서버 사이트 애플리케이션이라고 생각하시면 되도 무방합니다.특징으로는 독립 실행 프로그램과 달리 진입점 즉, main 메서드가 없으며, 서블릿 컨테이너에 등록된 후 서블릿 컨테이너에 의해 생성, 호출, 소멸이 이루어집니다.
서블릿 컨테이너(servlet container)는 서블릿을 관리하고 동작시킬 수 있는 환경을 제공하는 서버 프로그램입니다. 컨테이너는 특정 객체의 생성과 관리를 담당하며 객체 운용에 필요한 다양한 기능을 제공합니다. 또한 HTTP요청을 받아서 해당 서블릿을 동작 시키고 그 결과를 사용자의 브라우저로 전달할 수 있는 기능하며 네트워크 통신, 서블릿의 생명주기 관리, 스레드 기반 병렬처리를 대행해 프로그래머의 고생을 덜어주는 역할을 합니다.
보통 컨테이너는 서버 안에 포함되어 배포 및 구동됩니다.
위의 그림은 WAS와 서블릿 그리고 서블릿 컨테이너의 관계과 동작방식을 나타냅니다. client의 요청을 WAS가 받아 들이고 WAS는 그 요청에 있는 java파일을 컴파일하여 class를 만듭니다. 그리고 이 class 파일을 메모리에 적재하여 Servlet 객체를 만들게 되고 이 Servlet 객체는 doPost, doGet을 통해 요청에 응답하게 됩니다.
참고 자료 : http://anster.tistory.com/128
'Language & Solution > Java ' 카테고리의 다른 글
[Java] 새로운 게 무조건 더 좋은 방법은 아니다: Collections.nCopies()와 Stream에 관하여 (0) | 2019.03.08 |
---|---|
[Java] Java Optional (자바 옵셔널) 정리, 예제모음 (0) | 2018.11.21 |
[Java] Java 클래스 로딩 과정(Java Class Loading Process) (0) | 2018.11.12 |
[Java Library] Executor Framework (0) | 2018.09.25 |
[Java] JDK 소스코드 붙이기 (0) | 2018.06.24 |
이 글을 공유하기