inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

정리

서블릿 컨테이너, 스프링 컨테이너 질문

109

nick

작성한 질문수 38

0

[질문 내용]
안녕하세요. 서블릿 컨테이너와 스프링 컨테이너가 헷갈립니다.

  1. 서블릿 컨테이너 위에서 스프링 컨테이너가 생성되고, 그 사이에 디스패처 서블릿이 스프링 MVC의 컨트롤러들을 매핑해주는 것이 맞나요?

 

  1. 스프링 컨테이너를 사용하지 않았을 땐, 서블릿을 개별적으로 등록하는 것만으로도 웹으로서 작동할 수 있는 것이 맞나요?

 

  1. 서블릿 초기화와 애플리케이션 초기화의 영역을 잘 모르겠습니다. 서블릿이 작동할 때 서블릿 초기화를 진행하게 되고, 그 이후에 애플리케이션 초기화가 진행되는 것으로 알고 있습니다. 그런데 이 두 영역을 왜 나눴는지 모르겠습니다. 예전에 공부할 때 서블릿 설정은 애플리케이션 전체 영역 범위 설정을 하는 것이고, 애플리케이션은 개별적인 영역을 설정하는 것으로 기억하고 있는데 제가 알고 있는 개념이 맞을까요?

 

spring spring-boot prometheus grafana

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. H N님께서 서블릿 컨테이너와 스프링 컨테이너에 대한 질문을 주셨네요. 서블릿과 스프링에 대한 개념은 처음 학습할 때 다소 헷갈릴 수 있습니다. 이에 대해 이해를 돕기 위해 간략히 설명을 드리고, 관련 자료를 제공해드리겠습니다.

  1. 서블릿 컨테이너 위에서 스프링 컨테이너의 생성
    맞습니다. 서블릿 컨테이너는 웹 어플리케이션이 동작하기 위해 최소한의 환경을 제공하며, 스프링 컨테이너는 이러한 환경 위에서 의존성 주입 및 라이프사이클 관리 등 부가적인 기능을 제공하는 역할을 합니다. DispatcherServlet은 스프링 MVC에서 모든 HTTP 요청을 처리하는 진입점으로, 스프링 컨테이너 내에서 컨트롤러 매핑을 수행합니다.

  2. 스프링 컨테이너 없이도 서블릿의 개별 등록 가능
    예, 스프링 없이도 기본적으로 서블릿을 등록하여 웹 애플리케이션을 구성할 수 있습니다. 전통적인 자바 웹 애플리케이션에서는 web.xml 파일을 이용해 서블릿을 등록하고 설정합니다.

  3. 서블릿 초기화와 애플리케이션 초기화의 구분
    서블릿 초기화는 특정 서블릿이 생성되고 준비되는 과정으로, 각 서블릿의 초기화 파라미터를 설정하고 각종 자원을 준비하는 단계입니다. 반면, 애플리케이션 초기화는 웹 애플리케이션 전체의 환경 설정을 의미하며, 구동에 필요한 공통 자원들이 준비되는 시점입니다. 서블릿과 애플리케이션의 초기화는 목적과 범위가 다르므로 따로 구분되어 처리됩니다.

이 주제에 대한 추가 정보는 아래 관련 질문들에서 확인하실 수 있습니다:
- 안녕하세요 영한님 강의를보다 궁금한점이 생겨 질문 남겨봅니다
- servlet에 대해 제 생각을 한번 정리해봤습니다

각 게시물에서는 서블릿과 스프링의 구체적인 상호작용과 초기화 과정에 대해 더욱 자세히 설명하고 있으며, 이미지와 코드 예시를 통해 더 쉽게 이해할 수 있도록 돕고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

보안이 엄격한 데이터

0

73

1

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

1

44

1

http://localhost:8080/actuator/prometheus

0

85

3

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

0

64

1

build.gradle bom link 변경

0

66

2

@Counted 초기화

0

48

1

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

0

102

2

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

0

67

1

@Configuration 질문드립니다.

0

84

2

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

0

101

1

localhost:8080/hello-servlet 404오류

0

123

2

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

1

154

2

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

0

160

1

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

0

94

2

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

0

158

1

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

1

128

1

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

0

89

1

404 페이지

0

134

3

actuator 호출시 타임스탬프 질문

0

90

1

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

0

125

1

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

0

105

1

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

0

94

1

Thread Config Max 패널 설정 변경 질문

0

128

1

스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.

0

108

1