관리 메뉴

CASSIE'S BLOG

스프링컨테이너 vs 서블릿컨테이너 본문

PROGRAMMING/면접준비

스프링컨테이너 vs 서블릿컨테이너

ITSCASSIE1107 2024. 3. 1. 21:16

간단히 말하면, 스프링 컨테이너는 객체의 생성과 의존성 주입을 담당하여 스프링 애플리케이션의 객체 관리를 지원하고,

서블릿 컨테이너는 웹 애플리케이션에서 서블릿을 실행하고 HTTP 요청을 처리하여 동적인 웹 페이지를 생성하는 역할을 합니다.


서블릿은 Java 언어로 작성된 클래스입니다. 이 클래스는 일반적으로 javax.servlet.Servlet 인터페이스를 구현하거나 javax.servlet.http.HttpServlet 클래스를 상속합니다.

간단한 예시를 들어보겠습니다. 아래는 "Hello, World!"를 출력하는 간단한 서블릿의 예시 코드입니다.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>Hello World Servlet</title></head>");
        out.println("<body>");
        out.println("<h1>Hello, World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}



스프링 컨테이너(Spring Container): 스프링 프레임워크에서 객체의 생명주기를 관리하고 의존성 주입(Dependency Injection)을 수행하는 역할을 하는 컨테이너입니다.

스프링 컨테이너는 스프링 애플리케이션에서 사용되는 객체들을 생성하고 관리하며, 필요에 따라 의존성을 주입합니다. 이는 개발자가 객체 생성과 의존성 주입에 대한 코드를 작성하는 것이 아니라 스프링 컨테이너가 이를 대신 처리함으로써 제어의 역전(Inversion of Control, IoC)을 실현합니다.

서블릿 컨테이너(Servlet Container): 웹 애플리케이션에서 서블릿을 실행하고 관리하는 컨테이너입니다. 클라이언트의 HTTP 요청을 받아들이고, 해당 요청을 처리하기 위해 적절한 서블릿을 호출하고 실행합니다. 대표적인 서블릿 컨테이너로는 Apache Tomcat, Jetty 등이 있습니다.

반응형