모델1과 모델2
: 모델1은 jsp페이지에서 화면을 보여주고, 요청을 하게되면 jsp페이지에서 직접 Model에 접근을 하게 된다.
데이터베이스 연동하는 jsp페이지를 만들 때 디자인 부분과 데이터베이스와 연동하는 로직 부분이 모두 같은
페이지에 코딩을 하게되는 방식
: 모델2는 디자인 부분과 로직 부분을 나누어서 개발하기 때문에 디자이너는 디자인 부분만 프로그래머는 로직 부분만 개발에 열중할 수 있다.
코딩도 모두 jsp페이지에 하는 것이 아닌 각 담당하는 부분의 페이지가 독립적(디자이너는 jsp페이지, 프로그래머는 Java클래스)으로 존재하므로 각자 개발을 다 끝낸 후에 합치기만하면 된다.
MVC
: Model, View, Controller
: View - 화면출력
: Model - 데이터베이스와 연동하는 부분 등의 로직부분 (비지니스 로직 부분)
: Controller - 위 두 부분을 적절하게 연결시켜주는 역할
: 모델2는 Model과 View를 독립적으로 코딩하기 때문에 Controller를 만들어서 Model과 View 사이에 개입하여
서로 연동하는 열할을 해주어야 한다.
Controller (Servlet)
: 요청을 받아서 요청을 해당하는 Model과 View를 호출하는 역할만 하기 때문에 View처럼 jsp페이지로 구현할 수 없다
: 보여지는 페이지가 아닌 연결시켜주는 통로 역할만 할 뿐이다
: MVC패턴에서 중심 역할을 한다는 것과 반드시 서블릿으로 이루어져야한다.
View (jsp)
: MVC패턴 중 화면 출력 부분에 해당한다
: 화면 출력을 담당하므로 jsp페이지로 구성
: View에서는 절대 데이터베이스 연동과 같은 비즈니스 로직을 구현하지 않으며, Controller를 통해서
Model에서 처리한 결과를 화면에 출력할 때 사용
Model (JavaBean)
: MVC에서 실제로 비즈니스 로직을 처리하는 부분
: 비즈니스 로직을 처리하여 결과를 Controller를 통해 View페이지로 전달
: 데이터베이스 부분을 Model에서 구현
: Model은 JavaBean이라고 부르며 이 파일은 클래스 파일로 이루어져 있다
: 실제로 Model클래스의 비즈니스 로직을 가져다 쓰는 곳은 Controller와 Model사이에 존재하는 Command클래스이다.
게시판 흐름
'Java > java' 카테고리의 다른 글
스프링(Spring)의 특징과 의존성 주입(DI) (0) | 2020.10.20 |
---|---|
EL문, JSTL (0) | 2020.10.20 |
파일 업로드 (0) | 2020.09.23 |
Database (0) | 2020.09.21 |
빈즈 (Beans) (0) | 2020.08.28 |