[ MVC 패턴 ]
- M (Model, 모델) : 로직(연산) 수행(데이터 작업 포함) 을 담당
- V (View, 뷰) : 사용자 화면 출력을 담당함
- C (Controller, 컨트롤러) : 중앙에서 Model 과 View 의 제어를 담당
MVC 패턴이란, WAS(Web Application Servel) 안에서의 역할을 3가지로 나눠서 구성하는 디자인 패턴을 말한다.
[ Controller(컨트롤러) ]
모든 요청은 컨트롤러로 모인다.
사용자가 직접 URL/IP 를 입력해서 접근하건, 뷰(View)에서 다른 뷰(View) 를 호출하건, 모델(Model) 에서 다른 모델을 호출하건 모두 컨트롤러를 거치게 된다.
일종의 작업 분배기 이다.
톰캣서버(=WAS) 에서 구동되는 가장 핵심적인 역할이기 때문에 서블릿(HttpServlet) 클래스를 상속받아
서블릿(서블릿이란? = mangkyu.tistory.com/14)이 된다.
서블릿은 톰캣 서버와 정보를 주고 받을 수 있는 기능이 있고, 특히 사용자의 요청 내용과 커넥션 정보 등을 내장 객체 형태로 가지고 있어 이를 적절히 처리할 수 있는 기능을 갖고 있다,
이 정보를 모델에게 넘겨서 로직을 수행하게 하고 다시 결과를 받아 뷰에게 전달해 최종 화면을 사용자에게 넘겨준다.
또는 바로 뷰를 호출해 사용자에게 화면을 보여 줄 수도 있다.
[ Model(모델) ]
실제 로직을 수행하는 역할을 하는 자바 클래스.
Command 는 로직을 수행하는 기능을 가진 클래스를 의미하고
DAO/DTO 는 DB 와 연동되어 데이터 작업을 담당하는 기능의 클래스이다.
둘을 나눠둔 것도 역시 기능별로 모듈화를 하는 객체지향적 방식을 지향하기 때문이다.
DAO 는 데이터 작업 로직을 가진 클래스
DTO 는 데이터를 저장해 운반하기 위한 클래스이다.
일반적인 자바 프로그램밍과동일한 구조이다.
[ View(뷰) ]
최종 작업 결과물을 가지고 적절한 화면을 구성해서 사용자에게 전달하는 기능
화면 구성은 JSP 가 편리하기 때문에 대부분 JSP 를 사용해 뷰를 구성한다.
톰캣서버(=WAS)는 컨트롤러가 최종적으로 실행시킨 JSP 파일을 서블릿으로 변환해서 컴파일 한뒤 실행해준다.
결과적으로 사용자에게 도달하는 데이터는 html 형태의 코드가 된다.
브라우저는 이 코드를 받아 화면 구성을 해 사용자에게 보여준다.
'JSP' 카테고리의 다른 글
Parameter(파라미터)와 Attribute(속성)의 차이 (0) | 2020.11.12 |
---|---|
JSP 내장객체의 구조와 생명주기(session / config / application) (0) | 2020.10.25 |
JSP, Servlet(서블릿),Tomcat(톰캣) 의 기본 개념 및 구조 (0) | 2020.10.24 |
JSP 기초 (0) | 2020.10.24 |