2014. 12. 22. 13:24
Servlet
웹 페이지를 동적으로 생성하는 서버측 프로그램을 말하며, 흔히 “서블릿”이라 불린다.
서버측 프로그램
서버에서 실행되는 작은 프로그램.
Ex> JSP -> 컴파일 -> 서블릿 변환 -> 서버에서 구동
Container
서블릿의 Lifecycle을 관장하는 소프트웨어(모듈)을 "컨테이너"라 불린다.
Lifecycle
컨테이너는 클라이언트의 요청을 받으면 URL에 매핑하는 서블릿을 생성하고 생성된 서블릿은 정의된 비즈니스를 수행하고 소멸한다.
Role of Container
- Communication 지원
서블릿과 웹서버의
통신을 담당. 컨테이너가 없다고 가정하면, 웹서버의 요청을
대기하는 리스너를 만들어 해당 요청(URL)과 서블릿을 매핑해야 하는 과정을 거쳐야 함. 컨테이너는 이런 복잡한 통신 기능을 API로 제공함.
- Lifecycle 관리
클라이언트의 요청(URL)이 들어오면 해당 URL과 매핑되는 서블릿의 인스턴스를 생성하고, 초기화 메소드를 호출함. 서블릿의 수명이 다하면 적절하게 가비지 컬렉션을 수행한다. 즉 서블릿의 탄생과 죽음을 관리한다.
- Multi-Thread 지원
컨테이너는 클라이언트의 요청이 들어오면 서블릿을 처리하기 위한 새로운 쓰레드를 생성하고, 작업이 끝난 쓰레드는 반환하여 다중 요청에 대한 안정적인 동시성을 지원함
- 선언적 보안관리(??)
- JSP 지원
'java > web' 카테고리의 다른 글
파일 다운로드 구현 (0) | 2016.03.11 |
---|---|
[web] - spring mvc (0) | 2014.12.22 |
datepicker 사용자 정의 버튼 추가하기 (0) | 2014.10.23 |
[크롬] - 창 닫기 스크립트 (0) | 2013.09.02 |
[password] - 웹에서 아이폰 스타일로 패스워드 만들자 (0) | 2011.03.06 |