Spring Web Application 동작 순서
1. 웹 어플리케이션 실행시 WAS(Tomcat)에 의해 web.xml이 로딩
2. web.xml에 등록되어 있는 ContextLoaderListener(Java Class) 생성
: ContextLoaderListener class는 ServletContextListener interface를 구현하고 있고, ApplicationContext를 생성하는 역할 수행
3. 생성된 ContextLoaderListener는 root-context.xml을 로딩
4. root-context.xml에 등록되어 있는 Spring Container 구동
: 이 때 Business Logic에 대한 부분과 Database Logic(DAO), VO 객체 생성
5. 클라이언트로 부터 요청이 들어옴
6. DispatcherServlet이 생성 / DispatcherServlet은 FrontController 역할 수행
: 클라이언트로부터 온 요청 메세지를 분석하여 알맞은 PageController에게 전달하고 응답 받아 요청에 따른 응답을 어떻게 할지 결정
: 실질적인 작업은 PagaController에서 이루어짐
: 이러한 클래스들은 HandlerMapping, ViewResolver Class라고 함
7. DispatcherServlet은 servlet-context.xml을 로딩
8. 두번째 Spring Container가 구동되며 응답에 맞는 PageController 동작
: 첫번째 Spring Container가 구동되면서 생성된 DAO, VO, Service 클래스와 협업하여 알맞은 작업 처리