티스토리 뷰
서비스 기동 시작
1. WAS가 구동되면서 web.xml이 로딩
2. web.xml에 등록되어 있는 ContextLoaderListener가 생성된다. ContextLoaderListener 클래스는 ServletContextListener 인터페이스를 구현하고 있으며, ApplicationContext를 생성하는 역할을 수행한다.
3. 생성된 ContextLoaderListener는 root-context.xml을 loading한다.
4. root-context.xml에 등록되어 있는 Spring Container가 구동된다. @Service, @Repository와 같은 어노테이션이나 DB관련 객체, DAO, VO 객체들이 생성된다.
서비스 기동 끝 & 요청 시작
5. 클라이언트로부터 웹 애플리케이션이 요청이 온다.
6. Filter 처리
7. DispatcherServlet(Servlet)이 생성하고(재사용), servlet-context.xml을 loading 한다. ViewResolver, HanderMapping, Controllers가 생성된다.
8. interceptor 처리
9. AOP 처리
10. DispatcherServlet은 HandlerMapping을 통해 Controller로 위임처리한다. (service() 메소드 실행)
11. 처리 후 controller는 view이름을 리턴
요청 끝 & 응답 시작
12. AOP 처리
13. interceptor 처리
14. Filter 처리
12. viewResoler를 통해 사용자에게 보여준다.
>> 참고 할 다른 글
2022.10.24 - [[공부] 원리] - [Spring] Filter, Interceptor, AOP 차이
2022.10.24 - [[공부] 원리] - [Spring] web.xml, servlet-context.xml, context-*.xml
참고 자료:
https://doublesprogramming.tistory.com/84
https://minwan1.github.io/2017/10/08/2017-10-08-Spring-Container,Servlet-Container/
'공부 > 원리' 카테고리의 다른 글
[Spring] Servlet 생명주기 및 동작과정 (0) | 2022.10.24 |
---|---|
[Spring] web.xml, servlet-context.xml, context-*.xml (0) | 2022.10.24 |
[Spring] Filter, Interceptor, AOP 차이 (0) | 2022.10.24 |
[Spring] 컨테이너 (0) | 2022.10.24 |
- Total
- Today
- Yesterday