본문 바로가기
Development/Java

[Spring In Action]Spring MVC 요청의 생명주기

by 폴피드 2011. 10. 17.
728x90
반응형


1. 요청이 가장 먼저 들르는곳은 DispatcherServlet이다. DispatcherServlet이 프론트 컨트롤러 역할을 한다. 

2. DispatcherServlet은 요청을 스프링 MVC 컨트롤러로 보낸다. 이때 요청을 어느 컨트롤러로 보낼지 알아내기 위해 Handler Mapping에 도움을 청한다. Handler Mapping은 요청에 담긴 URL을 참고해서 결정을 내린다.

3. 컨트롤러가 결정되면 DisspatcherServlet이 요청을 Coltroller로 보낸다. Controller에서는 비지니스 로직을 수행하거나 여러개로 서비스에 비지니스 로직의 책임을 위임하기도 한다. 결론적으로 비지니스로직의 처리가 끝날때까지 기다린다. 처리가 끝난면 브라우저에 표시될 정보가 만들어진다. 이 정보가 Model 이라고한다.

4. Controller는 모델 정보다 이정보를 보여줄 view의 이름을 ModelAndView 객체에 담아 DispatcherServlet으로 돌러 보낸다. 

5. ModelAndView가 DispatcherServlet에 도착하면 ViewResolver에게 실제 view를 보여줄 Jsp 페이지를 검색해줄것을 요청한다. (View 페이지가 Jsp 일 경우) ModelAndView객체에는 실제 Jsp페이지에 대한 레퍼런스를 갖고 있는것이 아니라 뷰를 검색하는데 사용되는 논리적인 이름을 갖고 있다.

6. 마지막으로 view 객체에 모델 데이터를 전달한다. 

728x90
반응형