Spring MVC 패턴

황시준·2022년 12월 23일
0

MVC 패턴이란?
사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴

Spring MVC란?
Spring 에서 제공하는 웹 모듈로 Model, View, Controller 세가지 구성요소를 사용해 사용자의 다양한 HTTP Request 를 처리하고 단순한 텍스트 형식의 응답부터 REST 형식의 응답과 View를 표시하는 html를 return하는 응답 등, 다양한 처리를 할 수 있는 프레임워크다.

MVC는 Model, View, Controller 이지만, 이들을 잘 동작시기키 위한 구성요소가 포함된다.

  • DispatcherServlet(Front Controller)
  • Handler(Controller)
  • ModelAndView
  • View Resolver

DispatcherServlet

  • Front Controller 역할을 하는 Servlet
  • 제일 앞에서 HTTP Request를 처리하는 Controller
  • 모든 사용자의 요청을 받아들인다.
  • web.xml 파일에 해당 내용이 명시되어 있다.

ModelAndView

  • Controller에 의한 반환된 Model과 View가 Wrapping된 객체

ViewResolver

  • ModelAndView 객체를 처리해 View를 그림
  • .jsp 파일을 알아서 /WEB-INF/views/.jsp와 같은 형태로 변환해줌
  • servlet-context.xml 에 지정되어 있음(suffix, prefix)

Controller(POJO)

  • HTTP Request를 처리해 Model를 만들고 View를 지정
  • 보통 class로 되어 있음
    (POJO는 자바에서 객체를 의미한다.)

다음은 Handler Mapping, Handler Servlet, View Resolver에 대해 알아본다.

Handler Mapping

해당되는 Controller를 찾아줌
@RequestMapping으로 찾아줌
@Controller라는 Annotation으로 명시 되어 있어야 함.

servlet-context.xml 에 정의되어 있음

<context:conponent-scan base-package="com.hwang.spring">

Handler Adapter

Controller를 연결해서 실행해주는 역할

파란색은 Spring Framwork 를 의미함.(수정 X)
보라색은 개발자가 수정할 수 있는 부분(수정 O)
초록색은 필요 유무에 따라 작성해도 되고 작성하지 않아도 된다.

Spring MVC는 웹 어플리케이션을 유연하고 확장 가능하게 만든다.

profile
하고싶은게 많은 newbie

0개의 댓글