[Spring] MVC 패턴

19·2022년 12월 5일
0

Spring

목록 보기
20/29
post-custom-banner

서블릿과 JSP로 개발하는 데에 한계가 있다.

서블릿으로 개발할 때는 뷰 화면을 위한 HTML을 만드는 작업이 자바 코드에 섞여서 지저분하고 너무 복잡하며, JSP도 비즈니스 로직과 뷰 영역이 섞여 복잡하다

이런 복잡함을 해소하기 위해 등장한 것인 MVC 패턴이다.
비즈니스 로직과 뷰 영역을 분리하는 것이다.


MVC 패턴

MVC 패턴은 웹 어플리케이션을 3가지 영역으로 나눈 것을 의미한다.

Controller
 - HTTP 요청을 받고, 비즈니스 로직을 실행하는 부분
 - 뷰에 전달할 데이터를 모델에 담는 역할 수행
Model
 - 뷰에 출력할 데이터를 담아두는 곳
 - 모델 덕분에 뷰는 화면 렌더링에만 집중 가능
View
 - 모델에 담겨있는 데이터를 사용해서 화면을 렌더링하는 역할

MVC 패턴을 사용해 비즈니스 로직과 뷰 로직을 분리해 역할을 명확히 구분할 수 있었지만, 중복되는 코드들이 있고, 공통 처리가 어렵다는 문제가 있다.


  • 개선을 위해 FrontController를 앞에 두고 공통 처리를 하도록 했다.
  • 프론트 컨트롤러가 클라이언트의 요청을 받고, 요청에 맞는 컨트롤러를 찾아서 호출해준다.
    • 입구를 하나로
  • 스프링 웹 MVC의 핵심이 FrontController이며 DispatcherServlet이 FrontController 패턴으로 구현되어 있다.



참고

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 김영한

profile
하나씩 차근차근
post-custom-banner

0개의 댓글