스프링 MVC

김성훈·2022년 1월 8일
0

SPRING

목록 보기
10/12

Spring MVC

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

소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둔다

간단한게 Model, View, Controller로 분리하여 개발하는 디자인 패턴

👓Model👓:

데이터 저장소(데이터베이스)와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일을 한다.

여러 개의 데이터 변경 작업(추가, 변경, 삭제)을 하나의 작업으로 묶는 트랜잭션을 다루는 일을 한다

DAO클래스 Service 클래스에 해당

🕶View🕶

모델이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만듦

생성된 화면은 웹 브라우저가 출력하고, View 는 HTML/CSS/JS 를 사용해서 웹 브라우저가 출력할 UI 를 만듬

🥽 Controller🥽

클라이언트의 요청을 받았을 때 그 요청에 대해 실제 업무를 수행하는 모델을 호출하는 일을 한다

클라이언트가 보낸 데이터가 있으면, 모델을 호출할 때 전달하기 쉽게 데이터를 적절히 가공하는 일을 함

모델이 업무 수행을 완료하면, 그결과를 가지고 화면을 생성하도록 뷰에게 전달


Spring MVC 구조

DispatcherServlet:
HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러(Front Controller)

HandlerMapping:
HTTP 요청정보를 이용해서 컨트롤러를 찾아주는 기능을 수행

HandlerAdapter:
HandlerMapping을 통해 찾은 컨트롤러를 직접 실행하는 기능을 수행

Controller:
클라이언트의 요청을 처리한 뒤, 결과를 DispatcherServlet에게 리턴

ModelAndView:
컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담음

ViewResolver:
컨트롤러의 처리 결과를 생성할 뷰를 결정


MVC패턴을 사용하면, 사용자 인터페이스로부터 비지니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비지니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음

MVC 패턴의 주 목적은 Business logic과 Presentation logic을 분리하기 위해서 이다

<출처>

MVC (Model- View - Controller) 패턴의 개념

MVC란? (Spring MVC)

Spring MVC 구조

profile
"한 명이 걷는 천 걸음 보다 천 명이 함께 걷는 한 걸음이 성공의 시작이고 완성이다"

0개의 댓글

관련 채용 정보