'Model2'에 해당되는 글 2건

반응형

1. MVC

- Model, View, Controller의 약어로 클라이언트와 상호작용하는 S/W를 디자인함에 있어 세가지 요소로 쪼개어 하는 것을 말합니다.

 

MVC 패턴 Model2  
Model 서비스 클래스 or javabean   비즈니스 로직을 처리하는 모든 것들이 모델에 속합니다. 컨트롤러로부터 특정 로직에 대한 처리 요청(ex: 게시판 글쓰기, 회원가입, 로그인 등)이 들어오면 이를 수행하고 수행 결과를 컨트롤러에 반환한다. 필요한 정보는 request 객체나 session 객체에 저장하기도 한다.
Controller 서블릿   MVC 패턴(모델 2) 모든 흐름 제어를 맡는다. 브라우저로부터 요청이 들어오면, 어떤 요청인지를 분석하여 이 요청을 처리하기 위한 모델을 사용하여 처리한다. 사용한 모델로부터 처리 결과르 받으면 추가로 처리하거나 가공해야할 정보가 있다면 처리 후 request 객체나 session객체에 저장하고, 뷰(jsp페이지)를 선택하여 foward나 redirect 하여 클라이언트에 출력한다
View JSP 페이지   클라이언트에 출력되는 화면을 말합니다. 모델 1과 달리 로직 처리를 위한 코드가 내포되어 있지 않습니다. 요청 결과의 출력 뿐만 아니라 컨트롤러에 요청을 보내는 용도로 사용됩니다. request 객체나 session 객체에 저장된 정보를 토대로 화면을 출력합니다.

 

2. Model1

- JSP로 구현한 기존 웹 어플리케이션은 모델1 구조로 웹 브라우저의 요청을 JSP페이지가 받아서 처리하는 구조입니다.

JSP페이지에 비즈니스 로직을 처리하기 위한 코드와 웹 브라우저에 결과를 보여주기 위한 출력 관리 코드가 뒤섞여 있는 구조로 JSP페이지 안에서 모든 정보를 표현(view)하고 저장(model)하고 처리(control)되므로 재사용이 힘들고 읽기도 힘들어 가독성이 떨어집니다.

 

  즉, 요약하자면 모든 클라이언트의 요청과 응답을 jsp가 담당하는 구조로 장점은 단순한 페이지 작성으로 쉽게 구현이 가능합니다. 중소형 프로젝트에 적합하다고 할 수 있습니다. 단점으로는 웹 어플리케이션이 복잡해지면 유지보수가 힘들어 집니다.

 

3. Model2

- Model1 구조와 달리 웹 브라우저의 요청을 하나의 서블릿이 받습니다. 서블릿은 웹 브라우저의 요청을 알맞게 처리한 후 결과를 JSP페이지로 포워딩합니다.

  즉, 클라이언트의 요청 처리와 응답처리, 비지니스 로직 처리하는 부분을 모듈화시킨 구조로 장점은 처리작업의 분리로 인해 유지보수와 확장이 용이하지만 구조 설계를 위한 시간이 많이 소요되므로 개발 기간이 증가합니다.

 

 

 

이미지 출처 - http://changhozz.tistory.com/126


반응형

'2020 > IT Q_A' 카테고리의 다른 글

Ajax란?  (0) 2020.02.13
xml에서 주석처리 단축키  (0) 2020.01.30
2020 정보처리기사 정보  (0) 2020.01.22
BootStrap 추천 사이트  (0) 2020.01.21
ERROR 1406 (3D000): No database selected  (0) 2020.01.17
블로그 이미지

꽃꽂이하는개발자

,

모델2 방식

2020/JSP SERVLET 2019. 12. 30. 13:18
반응형

 모델2 방식

 

  모델2 방식의 핵심은 웹 어플리케이션의 각 기능(클라이언트의 요청 처리, 응답 처리, 비지니스, 로직처리)을 분리해서 구현하자는 것입니다. 객체 지향 프로그래밍에서 각각의 기능을 모듈화해서 개발하자는 것과 같은 원리입니다.

  웹 프로그램 개발 시 개발자가 전체 기능을 몰라도 각 기능이 모듈화되어 있으므로 자신이 맡은 부분만 개발하면 됩니다. 각 부분을 조립만 하면 나중에 전체를 사용할 수 있어 개발 효율성도 높습니다. 물론 모델2 방식으로 개발하기 위해서는 필요한 기술이나 개념을 숙지해야 하는 번거로움은 있지만 초급자라면 우선 자신이 맡은 부분만 개발하면 되므로 훨씬 효율적인 개발 방식이라고 할 수 있습니다. 그리고 개발 후 서비스를 제공할 때도 유지보수가 편할 뿐만 아니라 개발한 모듈들을 비슷한 프로그램을 만들 때 사용할 수 있어 코드 재사용성도 높습니다. 현재 모든 웹프로그램은 모델2 방식으로 개발한다고 보면 됩니다.

 

  모델2 방식의 특징

  • 각 기능이 서로 분리되어 있어 개발 유지 및 유지보수가 쉽습니다.
  • 각 기능(모듈)의 재사용성이 높습니다.
  • 디자이너와 개발자의 작업을 분업화해서 쉽게 개발할 수 있습니다.
  • 모델2 방식과 관련된 기능이나 개념의 학습이 필요합니다.

MVC 디자인 패턴

 

  모델2 구조에서 가장 자주 사용되는 개념이 MVC입니다. MVC란 Model-View-Controller(모델 - 뷰 - 컨트롤러)의 약자로, 일반 PC프로그램 개발에 사용되는 디자인 패턴을 웹 어플리케이션에 도입한 것입니다. 즉 웹 어플리케이션을 화면 부분, 요청 처리 부분, 로직 처리 부분으로 나누어 개발하는 방법이죠.

 

원래 모델2 방식의 구조가 MVC를 포함하는 개념이지만 MVC가 모델2 방식의 뼈대를 이루므로 모델2 방식으로 구현한다는 말은 곧 MVC로 구현한다는 것과 같은 의미로 보면 됩니다.

MVC의 특징은

  • 각 기능이 분리되어 있어 개발 및 유지보수가 편리합니다.
  • 각 기능의 재사용성이 높아집니다.
  • 디자이너와 개발자의 작업을 분업화해서 쉽게 개발할 수 있습니다.

  컨트롤러는 사용자로부터 요청을 받아 어떤 비지니스 로직을 처리해야 할지 제어합니다.

  모델은 데이터베이스 연동같은 비지니스 로직을 처리하고, 뷰는 모델에서 처리한 결과를 화면에 구현하여 클라이언트로 전송합니다.

 

Controller

  • 서블릿이 컨트롤러의 역할을 합니다.
  • 클라이언트의 요청을 분석합니다.
  • 요청에 대해서 필요한 모델을 호출합니다.
  • Model에서 처리한 겨과를 보여주기 위해 JSP를 선택합니다.

Model

  • 데이터베이스 연동과 같은 비지니스 로직을 수행합니다.
  • 일반적으로 DAO와 VO 클래스로 이루어져 있습니다.

View

  • JSP가 화면 기능을 담당합니다.
  • Model에서 처리한 결과를 화면에 표시합니다.

  웹 어플리케이션에서 컨트롤러의 역할은 서블릿이 담당합니다. 모델은 DAO나 VO클래스가 담당하고, 뷰 역할은 JSP가 담당합니다.


다음 글부터 mvc를 활용한 코딩을 해보겠습니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

jstl download  (0) 2019.12.30
MVC를 이용한 회원관리  (0) 2019.12.30
Ajax 이용해 서버와 json데이터 주고받기  (0) 2019.12.30
json 실습  (0) 2019.12.30
ajax XML 데이터 연동  (0) 2019.12.27
블로그 이미지

꽃꽂이하는개발자

,