공부/기본

Spring MVC 아키텍처

qlek1108 2023. 11. 20. 08:37

- modle : db와 상호작용하며 비즈니스 로직을 처리하는 모듈

- view : client에게 보여지는 결과화면을 반환하는 모듈

- controller : client 요청이 들어왔을 때 그 입력을 처리하고 어떤 로직을 실행시킬 것인지 제어하는 모듈

 

model1, model2 의 차이점

- 클라이언트의 요청 사항을 모듈화, 하나의 파일로 처리할 것인지

 

model1

- was에서 모든 파일에 클라이언트가 요청한 로직을 처리하는경우

- jsp에서 view, controller의 역할을 담당하며 그 결과를 클라이언트에게 반환한다

- 아키텍처 간단, jsp에 거의 모든 로직을 집어넣기 때문에 작은 웹 어플리케이션을 제작할 때에는 무리 없지만 대규모는 유지보수 힘듬

model2

- model1을 보완한 아키텍처

- model, controller, voem 부분 모듈화

- 로직 처리가 없어 단순히 client에게 보여지는 뷰만 담당

- 유지보수 간단

 

스프링 mvc 모델

- model2 방식

 

1. dispatcherservlet가 client요청을 받음 (중앙 제어실)

2. handlermapping이 알맞은 controller를 찾음

3. handlermapping에 실행할 controller의 메서드를 찾음

4. controller의 메서드를 실행하며 그 결과 model로서 dispatcherservler에 반환

5. viewresolver는 알맞은 jsp 파일을 찾음

6. view는 jsp 파일을 model의 정보를 토대로 client에게 반환