본문으로 바로가기

01. MVC 흐름 익히기

category IT/SpringDay 2022. 5. 17. 01:16

[출처]https://server-engineer.tistory.com/253

 

 

1. 스프링 프레임워크 동작 순서
   HTTP 요청 -> DispatcherServlet(web.xml) -> HandlerMapping(servlet-context.xml) -> Controller ->
   DispatcherServlet -> ViewResolver -> View -> 응답

 

1) DispatcherServlet(web.xml에 설정)

   - 클라이언트가 서버에 어떤 요청을 하면 스프링에서 제공하는 DispatcherServlet 클래스가 요청을 가로챔.

     (web.xml에 url-pattern에 서블릿 매핑을 하여 모든 요청을 가로채게 해둠)

2) HandlerMapping(servlet-context.xml에 설정)

3) 컨트롤러에서 해당요청을 처리할 sercvice 주입(DI)받아 비즈니스 로직을 Service에게 위임

4) 결과물을 받은 컨트롤러는 필요에 따라 Model 객체에 결과물을 넣거나, 어떤 view 파일을 보여줄것인지 정보를 담아

    DispatcherServlet에 보냄

5) DispatcherServlet은 ViewResolver에게 받은 뷰에 대한 정보를 넘김

6) ViewResolver는 해당 jsp 찾아(응답할view) 찾음

 

* Model & ModelAndView

1) Model은 파라미터 방식으로 메소드에 (Model model) 파라미터를 넣어주고 String형태로 리턴

   - Model은 값을 넣을 때 addAttribute()를 사용

2) ModelAndView는 컴포넌트 방식으로 ModelAndView 객체를 생성해서 객체형태로 리턴

   - MoelAndView는 말그대로 Model과 View를 합쳐놓은 것으로,값을 넣을때 addObject()를 사용

   - setViewName()으로 보낼 곳 View를 세팅