JAVA/Spring

Spring MVC

chan20 2020. 8. 12. 11:09

Spring을 사용했다면 누구나 Spring MVC를 만들어 MVC 패턴으로 개발은 해봤을 것이다.  

Spring MVC가 어떻게 동작하는지 알아 볼 생각이다.

MVC 구조이다 

filter부분은 MVC구조랑 상관은 없지만 URL 요청응답이 있을때 한번 필터해준다는 것이므로 현 내용과 무관하다.

구조를 순서대로 설명하자면 

1. Web.xml에 보면 Servlet 태그안에 DispatcherServlet을  등록한 xml이 있을 것이다. URL요청이 오면  DispatcherServlet을 지정한 컨테이너에 접근을 한다. 

2. DispatcherServlet에서는 요청이 오면 Front Contoller 역할을 수행하며 정보를 실제로 실행할 컨트롤러에게 전달하고 처리된 후는 View에 전달하는 역할을 한다.

3. HandlerMapping는 각 URL이 어떤 Controller가 처리할 것인지 결정하는 것이며 @RequestMapping, @GetMapping 같은 것을 참조를 한다.

4. Controller는 Request를 처리하고 DispatcherServlet에게 전달한다 결과 값은 Model, ModelAndView를 이용하여 나중에 View에 결과 값을 보여줄 것이다.

5. ViewResolver: View 관련 정보를 가지고 있으며 화면으로 보여줄 View를 찾는 역할을 한다.

6. View : Controller가 처리한 결과값을 보여줄 View를 생성한다.

이 6개의 순서대로 MVC 구조가 흘러간다.