JSP/서블릿 흝어 보기

웹 서버와 컨테이너

1. 웹서버

웹서버는 웹에서 서버 기능을 수행하는 프로그램으로서 HTTP라는 프로토콜을 기반으로 하여 웹 클라이언트(브라우저)로부터의 요청을 서비스하는 기능을 담당한다.

웹서버의 역활은 다음과 같다.

  1. 클라이언트가 요청한 웹 문서를 찾아서 전달하는 기능을 처리한다.
  2. 요청 파일이 없거나 문제가 발생하면 정해진 코드 값으로 응답한다.
  3. 클라이언트로부터의 요청에 대한 기본 사용자 인증을 처리한다.
  4. 서버 프로그램에 대한 요청을 웹 애플리케이션 서버에 수행시키고 그 결과를 응답한다.

2. 웹 애플리케이션 서버(WAS)

WAS(Web Application Server)는 크게 웹 서버 기능와 컨테이너 기능으로 구성된다. WAS는 웹서버나 컨테이너 기능 외에 엔터프라이즈 환경에서 필요한 트랜잭션, 보안, 트래픽 관리, DB 커넥션 풀, 사용자 관리 등의 다양하고 강력한 기능을 제공한다.

국내 기업의 상용 WAS로는 제우스(Jeus)가 있고, 그외 일반적으로 널리 알려진 톰캣은 오픈소스 소프트웨어로 상용에 사용해도 상관없다. 톰캣은 일반 상용 WAS처럼 JavaEE 스펙을 모두 갖추고 있지 않고 JSP와 서블릿을 실행하는 컨테이너와 웹서버만 제공한다.

3. 컨테이너

컨테이너는 서블릿의 생명 주기를 관리하고 JSP를 서블릿으로 변환하는 기능을 수행하는 프로그램이다.

"컨테이너에는 두 종류의 컨테이너가 있다."

서블릿 컨테이너는 서블릿 표준 API에서 제공하는 추상 클래스와 인터페이스를 구현한 클래스를 제공하여 기본적인 동작 방식과 API 호환성을 지원한다. 즉, 개발시의 서블릿컨테이너와 다른 컨테이너에서도 수행 및 유지보수가 가능하다.

JSP 컨테이너는 JSP를 서블릿으로 변환하는 역활을 한다.

댓글

댓글 본문
버전 관리
DongHyun Kim
현재 버전
선택 버전
graphittie 자세히 보기