Spring Boot : 서블릿 컨테이너 초기화 1

손유라·2023년 12월 17일
0

** 해당 강의는 인프런 김영한 님의 스프링 부트 - 핵심 원리를 시청하고 작성한 게시글입니다.

사실 그냥 스프링부트를 바로 공부할까, 생각했지만 어떤 원리로 어떻게 돌아가는지... 게임도 세계관부터 분석해야 시작할 수 있는 나로서는 이 과정이 중요하다고 생각해 스킵하지 않고 따라해 보기로 하였다.

서블릿 컨테이너 초기화

  1. WAS를 실행하는 시점에 필요한 초기화 작업들이 있다. 서비스에 필요한 필터와 서블릿을 등록하고, 여기에 스프링을 사용한다면 스프링 컨테이너를 만들고 서블릿과 스프링을 연결하는 dispatcher Servlet도 등록해야 한다.
  2. WAS가 제공하는 초기화 기능을 사용하면 WAS 실행 시점에 이러한 초기화 과정을 진행할 수 있다.

진짜 서블릿 초기화가 되는지 확인하자

  1. [src] - [java] 에 MyContainer 라는 코드를 작성해 주었다.
package hello.container;

import jakarta.servlet.ServletContainerInitializer;
import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;

import java.util.Set;

public class MyContainer implements ServletContainerInitializer {
    @Override
    public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException {
        System.out.println("MyContainer.onStartup");
        System.out.println("MyContainer c = " + c);
        System.out.println("MyContainer ctx = " + ctx);
    }
}
  1. 그리고 [resources] - [META-INF] - [services] 에 jakarta.servlet.ServletContainerInitializer 파일을 만들어, 내가 만든 서블릿 컨테이너를 등록해 준다.

  2. 이제 WAS를 실행시켜 보고, 결과를 보자!

콘솔에 내가 원하는 결과가 나온다. 즉, 초기화가 되고 있다는 뜻이다.

강의를 듣고 까먹지 말아야 하는데, 조금씩 복기하면서 앞으로 나아가야겠다. 세상에 중요하지 않은 건 없다.

profile
유라라랜드에 오신 것을 환영합니다!

0개의 댓글

관련 채용 정보