본문 바로가기
개발자/자바 & 스프링

MVC 아키텍쳐 / MVC1, MVC2 패턴

by mansfield 2023. 2. 13.
반응형

MVC : Model - View - Controller 

- 웹 어플리케이션 개발 시 MVC 패턴을 적용하여 각각의 역할 별 작업이 가능하도록 분담하는 설계 패턴


Model 

- 웹 어플리케이션의 비즈니스 로직, 수행할 서비스를 담당 

1. Service : 여러 DAO를 호출하여 데이터 접근/갱신을 하고, 그렇게 읽은 데이터에 대한 비즈니스 로직을 수행하여 Controller에 결과를 전송하는 클래스 

2. DAO : 데이터베이스에 직접 접근하여 요청 받은 결과를 반환하는 클래스 

3. VO : 계층 간 데이터 교환을 위한 객체 클래스 (DTO, Domain Object, Bean, Entity 라고도 함)


View 

- 사용자가 요청한 정보를 응답 받아 볼 수 있는 화면을 담당하며 JSP, HTML 등을 통해 표현 

- 요청의 결과 부분을 담당


Controller 

- 사용자의 요청을 전달 받아 응답 처리를 위한 Service를 호출하고 결과를 View에 전송하는 계층

- 전달 받은 정보를 바탕으로 사용자 요청을 분석한 후, 이를 서비스에 전달할 VO 객체를 생성하여 전달하고 Service로부터 결과를 리턴받아 관련된 View 화면에 응답

- MVC1 패턴에서는 JSP, MVC2 패턴에서는 Servlet이 담당 

 

 


MVC1 패턴

- jsp페이지가 사용자의 요청을 받아 비즈니스 로직을 수행한 후 해당 페이지에서 결과처리까지 진행하는 방식으로 소규모 프로젝트에 적합 : 컨트롤러와 뷰가 같은 jsp 페이지 


MVC2 패턴 

- 사용자의 요청을 받아 비즈니스 로직을 수행하는 역할은 Servlet이 하고 비즈니스 로직 수행 결과를 통한 View는 JSP로 구현하는 방식

 

300x250

댓글