Servlet

박재성·2024년 12월 6일
0

서블릿 컨테이너란?

톰캣처럼 서블릿을 지원하는 WAS서블릿 컨테이너라고 합니다.

WAS 란?

웹 애플리케이션 서버(Web Application Server)는 동적인 웹 애플리케이션을 실행하고 기능을 제공하는 소프트웨어 프레임워크입니다.

서블릿 컨테이너의 역할

  • 생명주기 관리: 서블릿의 생성, 초기화, 요청 처리, 소멸 등의 과정을 관리합니다.
  • 통신 지원: 웹 서버와의 통신을 처리하여 클라이언트의 요청과 서블릿의 응답이 원활하게 이루어지도록 합니다.
  • 멀티스레드 처리: 동시에 들어오는 여러 요청을 각각의 스레드로 처리하여 효율성을 높입니다.
  • 보안 관리: 인증 및 권한 부여 등의 보안 기능을 지원합니다.

서블릿의 동작 과정

  • 클라이언트 요청 수신: 사용자가 웹 브라우저를 통해 특정 URL에 접근하면 HTTP 요청이 웹 서버로 전달됩니다.
  • 서블릿 컨테이너 처리: 웹 서버는 이 요청을 서블릿 컨테이너로 전달하며, 컨테이너는 해당 요청에 맞는 서블릿을 찾습니다.
  • 서블릿 인스턴스 생성 및 초기화: 해당 서블릿이 메모리에 없다면 인스턴스를 생성하고 init() 메서드를 호출하여 초기화합니다.
  • 요청 처리: service() 메서드가 호출되어 요청의 HTTP 메서드(GET, POST 등)에 따라 doGet() 또는 doPost() 등의 메서드가 실행됩니다.
  • 응답 생성: 처리 결과를 기반으로 동적 웹 페이지나 데이터를 생성하여 클라이언트에게 응답합니다.
  • 자원 해제: 서블릿이 더 이상 필요 없을 경우 destroy() 메서드를 호출하여 자원을 해제합니다.

간단한 사용법(애노테이션)

  • @WebServlet(name = "requestParamServlet", urlPatterns = "/request-param") // Servlet 애노테이션
  • @Override // service(key 모양 있는거) 오버라이딩
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }

0개의 댓글