We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
서블릿 컨테이너의 역할과 동작 원리를 이해하고, 스프링 프레임워크와의 관계를 알아봅시다. 🙇♀️
Serv(Service) + let(작은 것을 의미하는 접미사) : 작은 서비스 컴포넌트
서블릿은 Java 기반의 웹 애플리케이션을 개발하기 위해 사용되는 서버 측 컴포넌트 입니다. 클라이언트의 요청을 처리하고, 동적인 응답을 생성하여 반환합니다.
주요 메소드
init()
service()
destroy()
서블릿 컨테이너는 Java Servlet을 실행하고, 클라이언트 요청을 처리하며 서블릿의 생명주기를 관리하는 역할을 하는 서버 환경입니다.
주요 기능
대표적인 서블릿 컨테이너
클라이언트 요청 -> 웹 서버 -> 요청 매핑 -> 서블릿 호출 -> 응답 생성
서블릿 컨테이너는 기본적으로 요청당 하나의 스레드를 할당!
HttpServletRequest.startAsync()
AsyncContext
AsyncContext.complete()
서블릿 컨테이너는 Dispatcher Servlet을 통해 스프링 애플리케이션이 요청과 응답을 처리할 수 있는 환경을 제공합니다.
Dispatcher Servlet
Q. 서블릿은 자바 환경에 한정된 개념인가요?
A. 네, 서블릿은 Jakarta EE 사양에 따라 정의된 Java 기반 서버 측 컴포넌로 Java 환경에 한정됩니다. 다른 언어에서의 유사한 개념으로는 Python의 WSGI, Node.js의 미들웨어 등이 존재합니다.
Q. Tomcat은 웹 서버인가요? 서블릿 컨테이너인가요?
A. Tomcat은 서블릿 컨테이너로 설계되었지만, 웹 서버의 기능도 포함하고 있습니다. 하지만 고성능의 정적 콘텐츠 제공을 위해서는 Nginx나 Apache HTTP Server와 함께 사용하는 것이 일반적입니다.
💡 참고 자료: 스프링 DispatcherServlet Servlet Container and Spring Framework
The text was updated successfully, but these errors were encountered:
suna-ji
No branches or pull requests
📝 서블릿 컨테이너 이해하기
📚 주제
서블릿 컨테이너의 역할과 동작 원리를 이해하고, 스프링 프레임워크와의 관계를 알아봅시다. 🙇♀️
🎯 스터디 목표
📖 핵심 내용
1. 서블릿이란? ⭐️⭐️⭐️
서블릿은 Java 기반의 웹 애플리케이션을 개발하기 위해 사용되는 서버 측 컴포넌트 입니다.
클라이언트의 요청을 처리하고, 동적인 응답을 생성하여 반환합니다.
주요 메소드
init()
: 서블릿 초기화 작업 수행service()
: 요청에 따라 작업 수행destroy()
: 서블릿이 소멸되기 전 정리 작업 수행2. 서블릿 컨테이너란? ⭐️
서블릿 컨테이너는 Java Servlet을 실행하고, 클라이언트 요청을 처리하며 서블릿의 생명주기를 관리하는 역할을 하는 서버 환경입니다.
주요 기능
대표적인 서블릿 컨테이너
3. 서블릿 컨테이너의 동작 원리 ⭐️
Apache, Nginx와 같은 웹 서버가 요청을 서블릿 컨테이너에 전달합니다.
서블릿 컨테이너는 요청 URL과 서블릿 매핑 설정을 확인하여 적합한 서블릿을 찾습니다.
서블릿 컨테이넌는 적합한 서블릿 객체를 생성 또는 재사용 후 sevice() 메서드를 호출합니다.
서블릿은 요청을 처리한 결과를 HTTP 응답으로 작성하고 클라이언트에게 반환합니다.
4. 서블릿 컨테이너 기반 비동기 요청 처리 방식
서블릿에서
HttpServletRequest.startAsync()
를 호출하여 비동기 처리를 시작합니다.비동기 컨텍스트
AsyncContext
를 통해 요청 처리를 다른 스레드로 넘깁니다.작업이 완료되면
AsyncContext.complete()
를 호출하여 클라이언트에게 응답을 반환합니다.5. 스프링 프레임워크와 서블릿 컨테이너의 관계
서블릿 컨테이너는

Dispatcher Servlet
을 통해 스프링 애플리케이션이 요청과 응답을 처리할 수 있는 환경을 제공합니다.🙋♀️ Q&A
Q. 서블릿은 자바 환경에 한정된 개념인가요?
A. 네, 서블릿은 Jakarta EE 사양에 따라 정의된 Java 기반 서버 측 컴포넌로 Java 환경에 한정됩니다. 다른 언어에서의 유사한 개념으로는 Python의 WSGI, Node.js의 미들웨어 등이 존재합니다.
Q. Tomcat은 웹 서버인가요? 서블릿 컨테이너인가요?
A. Tomcat은 서블릿 컨테이너로 설계되었지만, 웹 서버의 기능도 포함하고 있습니다. 하지만 고성능의 정적 콘텐츠 제공을 위해서는 Nginx나 Apache HTTP Server와 함께 사용하는 것이 일반적입니다.
💡 참고 자료:
스프링 DispatcherServlet
Servlet Container and Spring Framework
The text was updated successfully, but these errors were encountered: