mvc 패턴 구조를 공부하려고 구글에 검색하면 흔하게 나오지만
실제 프로젝트 구조에서 어떻게 작동하는 지는 이해가 잘 안된다.
과연 어떻게 작동할까?
작동순서
1. 톰캣 구동
2. 프로젝트 진입
3. web.xml 실행
4. web.xml에서 servelt-context.xml 위치를 알고 실행한다.
5. servelt-context 객체 생성
6. servelt-context에 있는 component scan 을 확인하여 controller를 빈에 등록
7. /로 시작하는 url요청을받아 어떤 controller인지 servlet-context에서 처리
( url 패턴은 web.xml의 servlet-mapping 에 있다. )
8. controller에 들어가서 반환 값 확인
9. 어떤 view page 인지 servelt-context에 전달
10. servlet-context는 view 이름에 prefix와 suffix를 붙여서 파일 실행
web.xml
: 웹프로젝트 환경설정 파일
스프링 프로젝트가 시작되면 가장 먼저 실행되고 하나씩 읽는다.
[SPRING 시작-2] # web.xml 설정엔 무엇이 있을까? (Eclipse+Spring+Maven) (tistory.com)
root-context.xml
: 스프링 환경설정 파일
주로 Service, Repository(DAO), DB등 비즈니스 로직과 관련된 설정
자세한 내용은 여기
Spring> mybatis.xml 작성하는 방법 (tistory.com)
아 이건 내 블로그 글임 ㅎㅎ
servelt-context.xml
: 스프링에 내장된 dispatcher servlet 환경설정
servlet context의 역할
spring에서는 DispatcherServlet이 모든 요청을 받고 요청 URL 과 맵핑하는 Controller에 위임
controller의 lifecycle 관리
클라이언트 요청을 처음받는 클래스
클라이언트 요청을 Handler(Controller)에 보낸다.
HandlerMapping : 어떤 url을 받을 지 결정
ViewResolver : prefix, suffix
https://gmlwjd9405.github.io/2018/10/29/web-application-structure.html
https://doublesprogramming.tistory.com/84
web.xml, root-context.xml, servlet-context.xml 내용 작성법
https://as-you-say.tistory.com/305
servlet-context.xml, root-context.xml, web.xml 차이점 알기! (tistory.com)
todyDev :: 스프링(Spring) 설정 - 프로젝트 구조 변경 및 설정 (tistory.com)
'컴퓨터공학 > Spring & Hibernate' 카테고리의 다른 글
Spring> Spring REST> CRUD Database (0) | 2021.09.21 |
---|---|
Spring> Spring REST> Exception Handling (0) | 2021.09.21 |
Spring> mybatis.xml 작성하는 방법 (0) | 2021.09.16 |
Spring> Spring REST> POJOs를 JSON으로... (0) | 2021.09.04 |
Spring> Spring REST> Spring REST Controller (0) | 2021.09.04 |