7 Sep 2020

spring MVC

spring MVC


MVC를 설명하기전 DispatcherServlet의 개념부터 보자

dispatherservlet


  • DispatcherServlet

    • Spring Framework가 제공하는 Servlet클래스

    • 사용자의 요청을 받는다.

    • DispatcherServlet가 받은 요청을 HandlerMapping으로 넘긴다.

  • HandlerMapping

    • 사용자의 요청을 처리할 Controller를 찾는다.

    • 요청 url에 해당하는 Controller정보를 저장하는 table을 가진다.

    • 클래스에 @RequestMapping(“/url”) 을 명시하면 해당 url에 대한 요청이 왔을때

      ### table에 저장된 정보에 따라 해당 클래스또는 메서드에 Mapping한다.

  • ViewResolver

    • Controller가 반환한 View name에 prefix,suffix를 적용하여 View Object를 반환한다.

    • 즉, view이름으로부터 사용될 view객체를 매핑하는 역할을 하는것이다.


1. 클라이언트가 해당 어플리케이션에 접근하면 접근한 URL요청을 DispatcherServlet이 가로챈다.


2. 가로챈 정보를 HandlerMapping에게 보내 해당 요청을 처리할 수 있는 controller를 찾는다.


3. HandlerMapping 해당 요청을 처리할 controller를 찾아냈다면 요청을 controller에 보낸다.


4. 해당 요청을 처리한 후 controller는 요청을 응답받을 View의 이름을 리턴하게 된다.

이때 이 이름을 ViewResolver가 먼저 받아 해당하는 View가 존재하는지 검색한다.


5. ViewResolver가 검색결과를 DispatcherServlet에 전달한다.

6. DispatcherServlet은 응답할 View에게 Render를 지시하고 View는 응답로직처리를 한다.

6. DispatcherServlet은 클라이언트에게 렌더링된 View를 응답한다.


  • Model

    • 애플리케이션의 상태(data)를 나타낸다.

    • 내부 비지니스 로직에 관한 처리를 수행한다.

  • View

    • 사용자에게 보여주는 영역

  • Controller

    • 모델과 뷰사이를 연결하는 역할을 하며 사용자의 입출력을 받아 데이터를 처리한다.


Tags:
0 comments