티스토리 뷰

스프링 MVC

  스프링 MVC 패턴은 비즈니스 로직과 뷰 로직을 분리하기 위해 탄생하였다. 

 

  • Model : 모델은 데이터를 주고받기 위해 사용한다.
  • View : 필요한 데이터를 Model로 받아 화면 기능에만 집중하는 역할을 한다.
  • Controller : 뷰에서 필요한 데이터를 비즈니스 로직을 실행하여 가져오는 역할을 한다. 모델에 데이터를 담아 뷰에게 전달한다
스프링 MVC 구조

 

 

  1. 사용자의 요청을 DispatcherServlet을 통해 받은 후 핸들러 매핑(HandlerMapping)을 통해 요청 URL에 매핑되는 컨트롤러를 조회한다. 핸들러 매핑은 요청과 적합한 컨트롤러(핸들러)를 선택 후 DispatcherServlet에게 전달한다. 
  2. DispatcherServlet은 컨트롤러를 리턴받고 컨트롤러에 대한 실행을 핸들러 어댑터에게 요청한다.
  3. 핸들러 어댑터는 비즈니스 로직을 실행한 후 결과를 ModelAndView에 담아 DispatcherServlet에게 리턴한다. 
  4. DispatcherServlet은 ViewResolver을 호출하여 반환할 view를 선택하고 View 객체에게 응답 결과 생성을 요청한다.
HandlerMapping : 핸들러 매핑

  핸들러 매핑은 스프링 빈의 이름으로 핸들러를 찾을 수 있다. 

 

  1. RequestMappingHandlerMapping : @RequestMapping 설정이 되어있는 컨트롤러를 찾는다. 
  2. BeanNameUrlHandlerMapping : RequestMappingHandlerMapping 로 핸들러를 찾을 수 없는 경우 BeanNameUrlHandlerMapping 을 이용하여 핸들러를 선택한다.
HandlerAdapter : 핸들러 어댑터

  핸들러 매핑으로부터 받은 핸들러를 실행시키기 위해서는 핸들러 어댑터가 필요하다.

 

  1. RequestMappingHandlerAdapter : 애너테이션 기반의 컨트롤러인 @RequestMapping에서 사용한다.
  2. HttpRequestHandlerAdapter : HttpRequestHandler 처리
  3. SimpleControllerHandlerAdapter : Controller 인터페이스 처리
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함