본문 바로가기

Wanna be a Programmer/Servlet & JSP

Servlet & JSP day16 - MVC(model, view, controller) 디자인 패턴

 

MVC 디자인 패턴

☞ GUI 기반 Application 설계

클라이언트의 요청을 받아 처리하여 응답하는 로직을 세개의 로직(Model, View, Controller)로 나누어 개발

 

Model

◎ Business Logic(클라이언트 요청에 대한 업무 처리)을 담당
Business Service와 Data Access Object로 분리

- Business Service

Business 로직의 일의 흐름을 관리

* DB관련된 작업을 제외한 로직을 처리

- Data Access Object(DAO)

* Database 관련된 로직만 처리

* DB 관련 로직을 제외한 어떠한 업무처리도 가지지 않는다.

 

View

처리결과를 응답하는 로직을 담당(Presentation Logic)

 

Controller

Client의 요청을 처리하는 전체 흐름을 control하는 역할을 담당

처리내용

1. client의 요청을 받는다

1-1. client가 요청시 입력한 값을 읽는다.

1-2. client로 부터 받은 값을 검증한다.

2. Business 로직을 호출한다. - Model 호출

3. 응답 처리 로직을 호출한다. - View 호출

 

 

MVC 디자인 패턴 예제

 

calc_form.jsp

☞ folder : WebContent/model2

☞ 계산기를 수행하기 위해서 계산폼을 작성

 

소스코드

 

CalculatorServlet.java

☞ package : calc.controller

☞ Controller로서 요청 파라미터를 조회하여 입력한 피연산자 2개와 연산자를 넘겨받아 CalculatorService 클래스의 calculate() 메소드를 통해 business logic을 수행하여 연산을 실행하고 결과를 request scope에 binding하여 요청 디스패치방식으로 calc_result.jsp로 전송한다.

 

소스보기

 

calc_result.jsp

☞ folder :  WebContent/model2

☞ Expression Language를 사용하여 Request scope에 binding되어있는 결과를 출력한다.

 

소스보기