Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발 일기

모델 2방식과 Spring MVC란? 본문

Spring

모델 2방식과 Spring MVC란?

개발 일기 2021. 9. 2. 21:17

안녕하세요.

 

오늘은 Spring의 시작이되는 MVC 모델 2 방식 구조에 대해 포스팅해보겠습니다.

 

 

1. MVC란?

 - Model: 데이터 혹은 데이터를 처리하는 영역 (dao, mybatis 등)

 - View: 데이터를 실질적으로 화면에 보여주기 위해 사용하는 영역 (jsp 등)

 - Controller: 클라이언트의 요청(request)을 처리, Model과 View의 중간 통신 역할

 

 

간단히 그림으로 표현하면 아래와 같습니다.

 - 요청이 들어오면 컨트롤러를 거쳐서 Model과 데이터를 설정&주고받고 컨트롤러에 정의된 경로에 맞춰 View로 전달

 

 

 

2. MVC / 모델 2 방식을 사용하는 이유는?

 - 화면과 데이터 처리를 분리하여 재사용이 가능하도록 하는 구조를 만들기 위해 사용

 - 개발자와 웹 퍼블리셔의 영역을 분리

 - Controller의 URI를 통해서 View를 제어하기 때문에, 뷰의 교체나 변경 시 유용하게 사용

 

 

 

3. 모델 2 에서 Front Controller 패턴으로

 - 모델 2방식이 개발자와 웹 퍼블리셔 간의 분업까진 성공 했으나, 각 컨트롤러들 사이의 중복 코드와

   개발자들 각자의 패턴 차이등의 문제로 모델 2방식은 Front Controller 방식을 적용하게 됩니다.

 - 기존 모델 2와의 차이점: 전체 로직의 일부를 컨트롤러에게 위임하고

   모든 흐름의 제어는 앞 쪽의 FrontController가 담당, FrontController로 인해 좀 더 규격화된 코드 작성 가능

 

 

즉, 최종적으로 정리를 해보자면

1. FrontController에서 사용자 요청을 최초로 받고

2. 적절한 Controller를 호출하고

3. 호출받은 Controller는 해당 요청을 처리 할 수 있는 Service를 찾고

4. 해당 Service는 데이터베이스 작업을 담당하는 DAO를 통해 요청된 작업을 수행

5. 작업 완료 후 처리된 데이터를 Controller에 전달하면

6. Controller는 다시 MVC쪽으로 데이터를 전달하여 해당 View에 뿌려진다.

 

 

 

오늘은 자바로 개발을 하는 경우 가장 많이 사용되는 스프링 MVC패턴에 대해 공부해보았습니다.

감사합니다.

Comments