티스토리 뷰

0. Spring MVC - Servlet

:: Connection = 1 요청 : 1 스레드

:: 이때, Servlet 객체는 Singleton
:: 즉, Servlet Container는 각 종류의 Servlet당 한개의 객체만 사용

=> Front Controller인 DispatcherServlet은 싱글톤 객체임을 의

  • Spring 은 Tomcat에서 한 종류의 Servlet(DispatcherServlet) 만을 사용
  • Spring 에서 Controller 객체(Bean)는 Tomcat에서 Servlet객체와 동일하게 싱글톤으로 처리됨

0.1 어떻게 수많은 요청들을 단 하나의 객체로 커버할 수 있나?

출처 : How does a single servlet handle multiple requests from client side

 

:: 몇개이든지 N 개의 스레드는 단 하나의 싱글톤 객체만 구독(공유)

:: 각각의 스레드는 각자의 Method Stack에서 메서드를 수행

:: So, 모든 요청에 대해 각 스레드 영역으로 분리되어 동시 + 격리 수행 가능

=> 모든 요청에 대해 동시적으로 Stateless and Thread-Safe 유지 가능


 

0.2 각 단계에서의 Servlet 비교

구분 Tomcat Servlet 싱글톤
Spring Controller 싱글톤
관리 주체 Tomcat 컨테이너 Spring 컨테이너
객체 생성 시점 웹 애플리케이션 로딩 시
Spring 컨테이너 초기화 시
객체 소멸 시점 웹 애플리케이션 종료 시
Spring 컨테이너 종료 시

 


참조

ASAC수업 자료

 

 

How does a single servlet handle multiple requests from client side

How does a single servlet handle multiple client requests coming in the form of user requests ? Based on the singleton design pattern I know we get a single instance of servlet created , but how do...

stackoverflow.com

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함