출처) https://min-it.tistory.com/7

        https://mangkyu.tistory.com/18

 

■ spring MVC (Model View Controller) 

spring MVC는 웹 개발시 대부분으로 사용하는 모델2 방식의 구조이다. 모델2 방식이란 한마디로 표현하여 화면을 담당하는 View의 부분과 데이터를 처리하는 비즈니스 로직을 분리하여 생각한 개념이다. 디자이너와 개발자의 작업 분리가 되어있어 작업하기 편리하고 재사용이 가능한 구조이다.

 

MVC 가 뜻하는 의미는

M (Model) : 데이터를 처리하는 부분

V (View) : 화면을 담당하는 부분

C (Controller) : 요청을 처리하는 부분으로 뷰와 모델 사이의 통신역할을 담당

 

 

(Spring MVC DispatcherServlet) 출처:  https://min-it.tistory.com/7  [MIN-IT]

1. 클라이언트(사용자)의 모든 요청은 DispatcherServlet이 받는다.

 

2. DispatcherServlet은 hanlderMapping을 통해서 요청에 해당하는 Controller를

실행 시킨다.

 

3. Controller는 적절한 서비스 객체를 호출 시킨다.

 

4. Service는 DB처리를 위해  DAO를 이용하여 데이터를 요청 한다.

 

5.DAO는 mybatis를 이용하는 Mapper를 통해 작업 처리를 한다.

 

6. 결과(처리한 데이터)가 mapper->DAO->Service->Controller로 전달된다.

 

7. Contorller는 전달된 결과(처리된 데이터)를 View Resolver를 통해

전달 받을 View가 있는지 검색한다.

 

8. 전달 받은 View가 있다면 View에게 전달된 결과(처리된 데이터)를 전달한다.

 

9. View는 전달받은 결과(처리된 데이터)를 다시 DispatcherServlet에게 전달한다.

 

10. DispatcherServlet은 전달받은 결과(처리된 데이터)를 클라이언트에게 전달한다.

 

Front Controller는 서버로 들어오는 모든 요청을 받아서 처리한다. 공동처리 작업을 먼저 수행한 후 적절한 세부 컨트롤러에 작업을 위임해주고 예외시 일관된 방식으로 예외를 처리해주는 역할을 한다. 이와 같은 역할을 하기 때문에 각 컨트롤러 사이의 중복된 코드 문제나 협업시 개발자들의 개발 방식이 다른 경우 등을 해결할 수 있다.

 

 

■ DispatcherServlet

spring에서 정의한 Front Controller이다. 클라이언트에서 어떤 요청이 들어오면 톰캣과 같은 서블릿컨테이너가 요청을 받는데, 이때 제일 앞에서 서버로 들어오는 모든 요청을 처리하는 기능을 한다. MVC구조에서 함께 사용하는 패턴이다.

 

DispatcherServlet의 등장으로 web.xml의 역할이 상당히 축소되었는데, 기존에는 모든 서블릿에 대해 URL패밍을 활용하기 위해서 web.xml에 모두 등록해주어야 헀지만, DispatcherServlet이 해당 어플리케이션으로 들어오는 모든 요청을 핸들링해주면서 작업이 상당히 편리하게 되었다. 

 

'IT 용어 정리' 카테고리의 다른 글

NoSQL 이란?  (0) 2019.09.17
node.js 란 무엇인가  (0) 2019.09.14
front end와 back end의 정의  (0) 2019.09.13
AJP 란?  (0) 2019.09.13
JDBC (Java Database Connectivity) 란?  (0) 2019.09.13

+ Recent posts