개발 무지렁이

[Spring] Spring webMVC 동작순서 본문

Backend/스프링

[Spring] Spring webMVC 동작순서

Gaejirang-e 2023. 5. 6. 18:09

💡. 서버 시작시, Spring webMVC 동작흐름
  서버가 시작되면('WAS'가 올라가면서)
  프로젝트가 실행(배포)되면
  (0) 'web.xml문서'를 로딩..(listener, filter, servlet)이 순서대로 등록 및 생성된다.
  ⚠️. BeanFactory 인터페이스를 기능확장시킨 'context(ApplicationContext)' 로딩..
  (0-1) 먼저, listener의 'root-context.xml문서' 로딩..(Business Logic에 해당하는 DI Container 생성, bean 등록 & DI주입)
  (0-2) filter (향후 이 인터페이스의 구현체가 servlet으로 향하는 URL요청주소를 가로채서 사전처리한다.)
  (0-3) 'servlet-context.xml문서(applicationContext.xml)'를 로딩..('DispatcherServlet 생성', Controller에 해당하는 DI Container 생성, bean등록 & DI주입)

[root-context.xml]

⚠️. DispatcherServlet(front controller)가 꼭 하나일 필요는 없다.

  <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <context-param>
       <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>  
📌. root-context.xml
: user or admin공유해야하는 것들은 여기에 등록한다.


🚀. Spring MVC 흐름(Dispatcher ~ controller)
Tistory's Card

Comments