처음부터 차근차근
Spring Framework 동작 원리와 HandlerMapping, view resolver 본문
HandlerMapping
HandlerMapping이란 클라이언트가 요청한 주소를 처리할 controller을 지정하는 역할을 하는 것이다.
view resolver
view resolver란 controller에서 받아온 view파일 명을 경로로 만들어 찾는 역할을 하는 것이다.
Spring Framework 동작 원리
1. 클라이언트 요청
2. web.xml 실행
3. web.xml에서 DispatcherServlet이 <url-pattern>의 형태로 들어오는 요청을 가로채고 servlet-context.xml을 실행
4. Controller클래스를 bean객체로 만듦
5. Handlermapping이 만들어진 bean객체 중에서 클라이언트의 요청 주소와 맞는 controller 찾음
6. controller 연결
7 ~ 10. 비즈니스 로직 수행
11. controller의 모든 코드를 수행하고 리턴값으로 view의 이름을 가지고 servlet-context.xml로 감
12. 리턴받은 view이름을 가지고 view resolver에서 경로를 만들고, view를 찾음
13. DispatcherServlet으로 넘김
14. 클라이언트로 view출력
2021.09.14 - [에러] - Eclipse Spring MVC 프로젝트 실행할 때 404 error(Spring 동작 원리)를 해결하다가 공부하게된 내용이다. controller에서 view resolver로 넘기는 곳(11번)부터 블로그마다 내용이 다 상이한데, 그래서 뭐가 맞는지 헷갈렸다. DispatcherServlet으로 갔다가 view resolver로 가고, view를 거쳐서 DispatcherServlet으로 간 후 클라이언트 화면에 출력한다고 하는 곳도 있고, DispatcherServlet → view resolver → DispatcherServlet → view → DispatcherServlet → 출력이라 하는 곳도 있었다. 그래서 그냥 내가 spring프로젝트 하면서 직접 본 코드 동작을 토대로 작성했다.
'Framework > Spring' 카테고리의 다른 글
Environment객체 (0) | 2021.09.19 |
---|---|
스프링 IOC 컨테이너와 bean의 생명주기(Life cycle) (0) | 2021.09.16 |
JAVA 사용해서 의존성 주입하기 (0) | 2021.09.15 |
Dependency Injection(의존성 주입) (0) | 2021.09.15 |
마이바티스(MyBatis) (0) | 2021.09.11 |