롸?

MVC 패턴 본문

WEB/JSP & Servlet

MVC 패턴

허니버터새우깡 2020. 3. 19. 17:55

1. 개요

MVC 패턴은 웹 애플리케이션 개발 방법론 중 하나로 크게 모델 1과 모델 2로 나뉜다. 

Model(모델) : 데이터를 가진 객체, 파라미터로 자주 쓰인다. DB의 테이블과 대응하는 경우가 많다.
View(뷰) : UI를 담당한다. HTML, CSS, Javascript 등으로 만들어진 컨테이너이다.
Controller(컨트롤러) : UI를 통한 사용자 입력 명령에 응답하고 데이터 흐름 제어를 담당한다.

MVC 패턴의 장점은 사용자에게 보여지는 영역과 비즈니스 로직, 데이터 구조가 서로 분리되어 있다는 점이다. 

 

 

2. 모델 1 구조

https://ko.wikipedia.org/wiki/JSP_%EB%AA%A8%EB%8D%B8_1_%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98

모델 1은 뷰와 컨트롤러 모두 JSP페이지 하나에서 처리하는 구조를 말하며, 보통 소규모 프로젝트에 권장된다. 모델 1을 구성하는 요소는 크게 JSP, 자바빈(혹은 서비스 클래스)로 나뉜다.

 

장점 단점
 - 빠르고 개발하기 쉽다.
 - 때문에 숙련자가 아니어도 구현이 용이하다.
 - 뷰와 로직이 섞이기 때문에 jsp 파일이 커지고, 복잡해진다.
 - 때문에 유지보수가 어려워진다.
 - 백엔드와 프론트엔드 분업이 힘들다.

 

2. 모델 2 구조

https://ko.wikipedia.org/wiki/JSP_%EB%AA%A8%EB%8D%B8_2_%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98

모델 2는 뷰와 컨트롤러를 분리하는 방식을 말하며 중대형 프로젝트에 권장된다. 크게 서블릿, jsp, 자바빈으로 구성되어있다. 요청이 들어오면 요청에 대한 로직처리는 모델이, 요청 결과는 뷰가, 이를 위한 흐름 제어는 컨트롤러가 담당한다.

 

장점 단점
- 코드를 분리하기 때문에 파일이 복잡하지 않다. 
- 디자이너와 개발자의 분업이 가능하다.
- 유지보수에 유리하다.
 - 설계에 어려움을 겪을 수 있다. 
 - 구조가 복잡하여 개발 난이도가 높다.

 

 

 


참고 

1.  https://hsp1116.tistory.com/9

2.  https://preamtree.tistory.com/11

'WEB > JSP & Servlet' 카테고리의 다른 글

Beans  (0) 2020.04.04
JSTL과 EL  (0) 2020.03.24
<jsp:include> vs <%@ include %>  (0) 2020.03.19
JDBC Connection pooling  (0) 2020.03.18
RequestDispatcher & sendRedirect 방식  (0) 2020.03.17
Comments