JSP를 공부해보기 전에 MVC 패턴에 대하여 알아보려고 한다.

우선 MVC라는 용어가 어떻게 나왔는지에 대하여 한번 알아볼 필요가 있다.

MVC 란 Model, View, Controller 의 앞글자만 따와서 만들어 낸 용어라고 한다.

아래는 위키 백과에서 따온 설명 글이다.

모델-뷰-컨트롤러(Model–View–Controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.

Model - 어떠한 동작을 수행하는 코드. 표시형식에 의존하지 않으므로 사용자에게 어떻게 보일지에 대해 신경 쓰지 않아도 된다. 모델은 순수하게 public 함수로만 이루어진다. 몇몇 함수들은 사용자의 질의(query)에 대해 상태 정보를 제공하고 나머지 함수들은 상태를 수정한다.

View - 모델은 여러개의 뷰를 가질 수 있으며, 뷰는 모델에게 질의를 하여 모델로 부터 값을 가져와 사용자에게 보여준다.

Controller - 뷰는 여러개의 컨트롤러를 가지고 있으며, 사용자는 컨트롤러를 사용하여 모델의 상태를 바꾼다. 컨트롤러는 모델의 mutator 함수를 호출하여 상태를 바꾼다. 이때 모델의 상태가 바뀌면 모델은 등록된 뷰에 자신의 상태가 바뀌었다는 것을 알리고 뷰는 거기에 맞게 사용자에게 모델의 상태를 보여 준다.

MVC패턴은 모델1, 모델2로 나뉜다고 한다.

모델 1은 구성은 다음과 같다.

view와 controller 를 jsp로 한번에 처리하는 방식을 말하며 개발이 빠르고 손쉽게 진행하지만, 분업이 어렵고 수정이 용이하지 않아 작은 프로젝트에 적합하다고 한다.

모델2의 구성은 다음과 같다.

view와 controller를 따로따로 처리하여 JSP의 'html 해석 용이' 라는 장점으로 view에 사용하고, controller의 자바 코드의 가독성을 위하여 Servlet을 사용한다.

모델 2는 처음에 구성이 어렵지만, 분업이 용이하고 수정이 손 쉬워 대형 프로젝트에 어울린다고 한다.

'Java > JSP' 카테고리의 다른 글

maven 이란?  (0) 2019.09.12
JSP, Servlet, 자바빈 등 용어 정리  (0) 2019.09.12
JSP 에서 Post로 Servlet 에 parameter 넘기기  (0) 2019.09.12
intellij 에서 Servlet 생성하기  (0) 2019.09.12
intellij 에서 Tomcat 적용하기  (0) 2019.09.12

+ Recent posts