본문 바로가기

JSP

[JSP] 모델1과 모델2 설계방식

 

모델1 설계방식

 

Model1 설계방식은 JSP와 JavaBean만 사용하여 웹을 개발하는 구조이다.

JavaBean은 Model의 기능을 수행하며 자바 객체를 의미한다. 따라서 JavaBean은 데이터베이스 연동에 사용되는 자바 객체들이다.

Model1 설계방식에서는 JSP 파일이 Controller와 View 기능을 모두 처리하는 중요한 역할을 수행한다. Controller는 JSP 파일에 작성된 사용자의 요청관련 처리와 관련된 자바코드를 의미한다.

또한, JSP 파일의 View 기능은 사용자에게 화면을 제공하기 위해 HTML, CSS와 같이 마크업 언어를 사용한다.

결과적으로 JSP파일에 자바 코드와 마크업 언어 코드들이 뒤섞여 역할 구분이 모호하고, 유지보수에 어려움이 있을 수밖에 없다.

 

모델1 설계 방식의 장단점

-장점

  • 개발속도가 빠르다.
  • 개발자의 기술적인 숙련도가 낮아도 배우기 쉬워 빠르게 적용할 수 있다.

-단점

  • JSP 파일에서 프리젠테이션 로직과 비즈니스 로직이 혼재되어 복잡하다.
  • 로직의 혼재로 인해 개발자와 디자이너의 작업 분리에 어려움이 있다.
  • JSP 코드의 복잡도로 인해 유지보수가 어렵다.

 

최근 어플리케이션이 복잡해지고 사용자의 요구가 증가하면서 새로운 개발방식이 필요하게 되었고, 모델1 설계방식의 단점을 보완하기 위해 만들어진 설계방식이 모델2, MVC 설계방식이다.


 

모델2 설계방식 (MVC)

 

Model2 설계방식은 어플리케이션의 역할을 Model - View - Controller 로 분리한 설계방식이다.

 

Model은 비즈니스 로직을 담당하며 JavaBean으로 구현한다. Business Service의 경우 비즈니스 로직의 workflow를 관리하고, DAO(Data Access Object)는 데이터베이스와 연동하는 비즈니스 로직을 처리한다. DTO(Data Transfer Object) 또는 VO(Value Object)는 계층간 데이터 교환을 위한 JavaBeans를 말한다.

View는 클라이언트에게 응답을 처리하며, JSP로 구현한다.

Controller는 클라이언트의 요청을 받아 Model과 View 사이에서 일의 흐름을 조정하는 역할을 수행한다. 클라이언트의 요청을 받아 클라이언트가 보낸 데이터를 읽고 검사하며, Model에게 비즈니스 로직을 요청한다. Model의 처리 결과에 맞는 View에게 응답을 요청한다. Controller는 서블릿으로 구현한다.

 

모델2 설계 방식의 장단점

-장점

  • 비즈니스 로직과 프리젠테이션 로직의 분리로 인해 어플리케이션이 명료해지며 유지보수와 확장이 용이하다.
  • 개발자와 디자이너의 작업 분리가 용이하다.

-단점

  • 개발 초기에 아키텍처 디자인을 위한 시간의 소요로 개발 기간이 늘어난다.
  • MVC구조에 대한 개발자들의 이해가 필요하다.

 

'JSP' 카테고리의 다른 글

[JSP] JSTL (JSP Standard Tag Library)  (0) 2020.10.05
[JSP] 익스프레션 언어(expression language)  (0) 2020.10.02
[JSP] 세션 (Session)  (0) 2020.10.01
[JSP] 쿠키(Cookie)  (0) 2020.09.30
[JSP] JSP(JavaServer Pages) 정리  (0) 2020.09.29