Servlet-JSP

Model2 - MVC

voider 2020. 9. 11. 22:42

모델 ?

어떤 일이든 주로 사용하는 방식이 있다. 그들만의 룰. 우리는 '표준'이라고 한다. 웹 개발도 마찬가지다. 꼭 그래야만 할 필요는 없지만 웬만하면 이런 구조로 만들자, 고 하는 '표준'이 있다. 이것을 모델이라고 한다.

Model1

비즈니스 로직과 화면 처리를 하나의 JSP가 모두 처리하는 것이 모델1 방식이다.
그러니까 지금까지는 one.jsp는 브라우저의 요청을 받아서 비즈니스 로직을 수행한 뒤, 다시 화면까지 처리하는 구조였다.

모델1 방식의 장점이라면 구현이 쉽고 편하다는 것이다. 그러나 화면이 복잡해지면 화면 처리와 비즈니스 로직이 섞일 위험이 있다. 그럼 붕괴된 도로처럼 유지 보수하기가 힘들어진다.

Model2

모델2 방식의 핵심은 클라이언트의 요청/응답 처리, 비즈니스 로직 처리를 분리해서 구현하자는 것이다.

모델2 특징

  • 기능이 분리되어 개발 및 유지보수가 쉽다
  • 재사용성
  • 쉽게 분업할 수 있다

MVC(Model - View - Controller)

이미지 출처

모델2에서 가장 자주, 많이 사용하는 디자인 패턴 개념이다. 웹을 화면 부분, 요청 처리 부분, 로직 처리 부분으로 나눠서 구분한다. 모델2가 MVC를 포함하는 것이지만, 뼈대나 다름 없으므로 모델2 == MVC라고 봐도 좋다.

Controller

  • 사용자의 요청 및 흐름 제어를 담당
    • 서블릿이 컨트롤러 역할을 한다.
    • 클라이언트 요청을 분석한다.
    • 요청에 필요한 모델을 호출한다.
    • Model에서 처리한 결과를 보여주기 위한 JSP를 선택한다.

Model

  • 비즈니스 로직 처리
    • 데이터베이스 연동과 같은 비즈니스 로직을 수행한다.
    • 일반적으로 DAO와 VO클래스로 이루어진다.

View

  • 화면 처리
    • jsp가 화면을 담당
    • model에서 처리한 결과를 화면에 나타낸다.

'Servlet-JSP' 카테고리의 다른 글

JSTL  (0) 2020.09.11
표현언어(EL, Expression Language)  (0) 2020.09.11
액션 태그  (0) 2020.09.11
JSP😇  (0) 2020.09.11
서블릿 리스너  (0) 2020.09.11