개념
모델1
JSP에서 화면을 보여주고 요청을 하게 되면 JSP페이지에서 직접 model에 접근하여 처리한다.
데이터베이스와 연동하는 JSP 페이지를 만들 때 디자인 부분과 데이터베이스가 연동되는 로직 부분이 모두 같은 페이지에 코딩을 하는 방식인 것.
모델2
모델 1이 모든 처리를 JSP에서 하는 것과 달리
JSP페이지 + 서블릿 + 로직 클래스 로 구성이 나누어지면서 이것들이 동작하여 브라우저의 요청을 처리한다.
MVC Pattern?
Model - View - Controller의 개념
Model 2 구조는 MVC 패턴을 웹 개발에 도입한 구조이며
Model 2와 MVC패턴은 형태를 동일하게 가져간다.
- 웹 브라우저의 요청을 서블릿이 받고 이후 알맞는 로직 클래스에 의해서 처리후 JSP 페이지로 포워딩 하는 과정을 거친다.
- 디자인 부분과 로직 부분을 나누어서 개발하기 때문에 디자이너는 디자인 부분만, 프로그래머는 로직 부분만 개발에 열중할 수 있다는 장점이 있다.
Model : 데이터베이스와 연동하는 부분 등의 로직 - JavaBean, JavaDAO
View : 화면 출력 - JSP
Controller : Model과 View를 적절하게 연결시켜주는 역할 - Servlet
- Model과 View를 독립적으로 코딩하기 때문에 Controller를 만들어서 Model과 View 사이에 개입하여 서로 연동하는 역할을 해주어야 한다.
- 일이 많아지면 많아질 수록 controller가 비대해지는 것을 방지하기 위해서 컨트롤러를 보통 세분화한다.
구성요소
Controller:
- 요청을 받아서 요청에 해당하는 Model과 View를 호출하는 역할만 수행.
- View처럼 JSP페이지를 구현할 수 없다.
- 보여지는 페이지가 아닌 연결시켜주는 통로역할을 한다.
- 중간에서 연결해주는 역할이며 서블릿으로 만든다.
View:
- 화면 출력 부분에 해당.
- JSP페이지로 구성.
- 절대 데이터페이스 연동과 같은 비즈니스 로직을 구현하지 않음
- Controller를 통해서 Model에 처리한 결과를 화면에 출력할 때 사용
Model:
- MVC에서 실제로 비즈니스 로직을 처리하는 부분.
ex> 게시판 만드는 과정에서 글 등록, 글 삭제, 수정 등은 모두 DB와 연동되어 처리된다.
- 처리가 완료되면 컨트롤러를 통해서 뷰로 전달되어 출력.
- JavaBean (VO, DAO 등 - 데이터 관련) 클래스 파일 - getters&setters가 있는 파일
- 실제로 Model 클래스의 비즈니스 로직을 가져다가 쓰는 곳은 Controller와 Model 사이에 존재하는 Command(Action) 클래스이다.
'WORKS > Java + JSP + Spring' 카테고리의 다른 글
[JSP] 게시판 만들기 파일간 동작 구조 그림그리기 / MVC 패턴 게시판 만들기 (1) | 2022.03.13 |
---|---|
[JSP] JSP 액션태그 useBean, setProperty, getProperty 활용: 회원가입 홈페이지 데이터 전달 / Js 유효성검사 연결 (0) | 2022.02.18 |
[JSP] JSP 액션태그 : useBean, setProperty, getPropety / JavaBeans 값 저장 및 추출 / jsp action tag (0) | 2022.02.18 |
[JSP] JSP : session 이용 장바구니 기능 만들기 (0) | 2022.02.17 |
[JSP] 에러페이지 설정하기 | 404 not found | JSP Error Page (0) | 2022.02.14 |
댓글