카테고리 없음

웹 컨테이너와 서블릿의 차이점

magpiebros 2025. 2. 10. 20:52
반응형

웹 컨테이너와 서블릿의 차이점

웹 애플리케이션 개발에서 자주 등장하는 개념 중 하나가 바로 웹 컨테이너(Web Container)와 서블릿(Servlet)입니다. 이 둘은 밀접한 관련이 있지만, 각각의 역할과 기능이 다릅니다.

 

웹 컨테이너(Web Container)란?

웹 컨테이너는 서블릿을 관리하고 실행하는 환경을 제공합니다. 이는 Java EE(Java Enterprise Edition) 사양의 일부로, HTTP 요청과 응답을 처리하는 핵심적인 역할을 합니다.

  • 주요 기능:
    1. 서블릿의 생명주기 관리 (생성, 초기화, 서비스 요청 처리, 소멸)
    2. HTTP 요청과 서블릿 간 매핑 처리
    3. 보안, 세션 관리, 트랜잭션 처리
  • 대표적인 웹 컨테이너:
    • Apache Tomcat
    • Jetty
    • WildFly

 

서블릿(Servlet)란?

서블릿은 Java로 작성된 서버 측 프로그램으로, 클라이언트의 요청을 처리하고 그에 대한 응답을 생성하는 역할을 합니다. 주로 HTTP 요청을 받아 데이터 처리 후 HTML, JSON 등의 형태로 응답을 반환합니다.

  • 주요 기능:
    1. 클라이언트 요청 처리 (GET, POST 등)
    2. 동적 웹 콘텐츠 생성
    3. 데이터베이스와 상호작용 및 비즈니스 로직 처리
  • 예제:
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().write("안녕하세요, 서블릿입니다!");
    }
}

 

주요 차이점

항목웹 컨테이너(Web Container)서블릿(Servlet)

역할 서블릿 관리 및 실행 환경 제공 클라이언트 요청 처리 및 응답 생성
기능 요청 분배, 보안 관리, 세션 관리 요청 데이터 처리, 비즈니스 로직 수행
예제 Tomcat, Jetty, WildFly HttpServlet, GenericServlet 등
생명주기 관리 주체 컨테이너가 서블릿의 생명주기를 관리 서블릿은 컨테이너의 제어를 받아 동작

 

반응형