MVC 패턴
MVC 패턴은 여러 가지 디자인 패턴 중에 하나입니다.
패턴은 어떻게 프로그램을 개발할 것인지의 개발 방법을 공식화한 패턴입니다.
패턴 중 MVC패턴은 사용자와 동적인 페이지상에서 상호작용을 하는 애플리케이션을 개발할 때 사용되는 방식입니다.
예를 들어 사용자가 웹페이지의 게시판에 글을 올리는 상황처럼 직접적으로 소통하는 부분들이 있는 곳에서 보편적으로 사용되는 패턴입니다.
Model - 어플리케이션이 "무엇"을 할 것인지 비즈니스 영역의 로직을 처리합니다
JSP에서는 실질적으로 출력될 데이터입니다.
*비즈니스 로직이란 : 업무에 필요한 데이터 처리를 수행하는 응용프로그램의 일부입니다.
예를 들어 사용자가 회원가입을 한다면 프로그래머는 아이디의 중복검사에 대해 서버와 소통하면서 데이터중 중복된 값이 존재하는지 확인하는 코드를 작성할 것입니다. 이러한 보이는 것의 뒤에서 일어나는 각종 처리를 의미합니다.
Controller - model이 비즈니스 로직을 어떻게 처리할 것인지에대해 사용자의 요청에 대한 처리와 흐름을 제어합니다.
Model과 View를 연결시켜주는 역할을 합니다.
JSP에서는 자바코드영역입니다.
View - 비즈니스 영역에 대한 화면을 보여줍니다. 웹에서는 웹페이지를 보여줍니다.
사용자가 원하는 화면을 보여주기 위해 Controller에 종속되어 비즈니스 로직의 결과를 보여줍니다.
JSP에서는 HTML 코드 영역입니다.
MVC의 동작 흐름
1. 사용자의 요청을 컨트롤러에게 전송합니다.
2. 컨트롤러는 요청에 맞는 모델을 찾아 비즈니스 로직을 수행합니다.
3. 컨트롤러에게 알맞은 결과 화면을 전달받아 화면을 출력해줍니다.
MVC1 은 JSP를 이용한 단순한 모델입니다.
자바 코드 영역과 HTML 코드 영역을 하나의 함수에서 나눈 뒤 JSP에서 사용자의 요청을 받고 JavaBean(DAO, DTO) 컴포넌트 아키텍처를 사용해 자바 영역의 비즈니스 로직을 처리한 뒤 HTML에서 모델 데이터를 이용해 JSP에서 응답까지 해줍니다.
JSP로 구현한 기존 웹 애플리케이션은 웹 브라우저의 요청을 JSP페이지가 전달받아 처리하는 구조인데, 비즈니스 로직을 처리 하기 위한 코드와 웹 브라우저에 결과를 보여주기 위한 출력 코드가 뒤섞여있습니다.
JSP페이지 안에서 모든 정보를 표현하고 저장하고 처리되므로 재사용률이 떨어지며 가독성 또한 좋지 않습니다.
하지만 장점으로는 개발 속도가 빠르며 배우기 쉽습니다.
'SSR > Servlet & JSP' 카테고리의 다른 글
DBCP를 이용해서 커넥션 풀 사용하기 (0) | 2020.05.20 |
---|---|
JSP SCOPE (0) | 2020.05.13 |
HttpServletRequest/Response (0) | 2020.05.09 |
JSTL (0) | 2020.04.28 |
View page 은닉하기. (0) | 2020.04.28 |
댓글