inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 부트 - 핵심 원리와 활용

스프링 MVC 서블릿 컨테이너 초기화 지원

잘 이해가 안갑니다...

589

박희원

작성한 질문수 4

1

  1. MyContainerInitV1 : ServletContainerInitializer을 implement한 클래스로서 서블릿 컨테이너 초기화를 위해 작성됐다.

  2. HelloServlet : HttpServlet을 상속받은 Servlet이다.

  3. AppInit : 애플리케이션 초기화를 위한 인터페이스이다.

  4. AppInitV1Servlet : AppInit를 implement한 애플리케이션 초기화 클래스 ? onStartup()을 통해 서블릿 컨테이너를 초기화하고 서블릿도 등록한다.

  5. MyContainerInitV2: ServletContainerInitializer을 implement한 클래스로서 @HandlesTypes(AppInit.class) 해줌으로써 해당 AppInit의 onStartup()을 통해 서블릿 컨테이너의 ctx를 파라미터로 보내서 AppInit 객체를 생성한다?

    ================================
    제가 이해한 개념이 맞나요? 뭔가 용어들이 비슷해서 명확하게 이해가 안되는 것 같습니다. ㅠㅠ

    질문1) 컨테이너 초기화와 애플리케이션 초기화는 다른 건가요? 각각 뭐가 다르고 왜 해주는건지 잘 모르겠습니다. ㅠㅠ

    질문2) AppInit과 ServletContainerInitializer은 둘다 onStartup()를 가지고 있던데.. 서로 다른 역할을 하는 각각의 인터페이스죠..?

    질문3) AppInitV1Servlet 은 서블릿 컨테이너 초기화하고 서블릿도 등록하고, MyContainerInitV2도 서블릿 컨테이너 초기화와 서블릿 등록을 하게되는데 둘의 차이는 뭔가요?...너무 헷갈려요 ㅠㅠㅠㅠㅠ

spring spring-boot prometheus grafana

답변 1

1

David

안녕하세요. 박희원님, 공식 서포터즈 David입니다.

AppInitV1Servlet은 애플리케이션 초기화를 구현한 것이고, 해당 애플리케이션 초기화는 컨테이너 초기화(MyContainerInitV2.onStartup())가 진행될 때 수행됩니다.

1번과 3번 질문 모두에 대해 서블릿 컨테이너 초기화2편 15분45초부터 설명해 주십니다.

2번: 초기화시 실행된다는 점을 제외하고는 다른 것입니다.

이 부분은 충분히 헷갈리실 수 있기 때문에 충분히 반복수강하시길 권장합니다.

감사합니다.

임포트 오류

0

38

2

보안이 엄격한 데이터

0

85

1

MyProperties 자체를 클라이언트 코드에서 사용

1

60

1

http://localhost:8080/actuator/prometheus

0

108

3

jar 추가에대한 질문드려도될까요?

0

77

1

build.gradle bom link 변경

0

78

2

@Counted 초기화

0

56

1

@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..

0

111

2

springboot에서 actuator없이 micrometer를 사용할수 있나요?

0

71

1

@Configuration 질문드립니다.

0

89

2

[공유] 터미널 말고 IDE 에서 jar 실행하기

0

116

1

localhost:8080/hello-servlet 404오류

0

129

2

내장톰캣2 서블릿 톰켓 실행이 안됩니다

1

166

2

최대 Tomcat 스레드 수를 확인하는 지표

0

167

1

mac m2에서 startup.sh 실행후 아무 반응이 없습니다.

0

101

2

내장 톰캣 실행 오류 관련 질문드립니다.

0

171

1

스프링 발전 과정들도 자세히 알아둬야하나요??

1

139

1

스프링부트 ioc 컨테이너 갯수

0

94

1

404 페이지

0

145

3

actuator 호출시 타임스탬프 질문

0

97

1

순수 라이브러리 사용하기 2 - memory-v1

0

131

1

외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.

0

115

1

서블릿 컨테이너 초기화1 강의 관련 질문입니다~

0

101

1

Thread Config Max 패널 설정 변경 질문

0

135

1