■ Model
애플리케이션에 비즈니스 로직과 사용되는 데이터를 다루는 영역이다. 일반적으로 비즈니스 데이터는 데이터베이스에 의해 관리되고, 그 데이터를 다루는 연산은 SQL문을 통해서 구현된다.
■ View
최종 사용자에게 보여줄 프리젠테이션 로직을 담당하는 영역이다.일반적으로 자바 웹 애플리케이션에서는 JSP를 통해서 구현된다.
■ Controller ==> servlet
컨트롤러는 흐름을 관리하는 역할을 하며, 모델과 뷰 영역간의 조정 역할을 한다. 사용자의 요청을 받아 이를 수행하기 위한 비즈니스 로직을 선택하고 호출하며, 수행한 비즈니스 로직의 결과를 보여주기 위해 뷰를 선택하여 포워드 해주는 역할을 한다.
🏻 DTO
데이터 전송을 위한 객체.
로직이 없고 속성과 속성에 접근하기위한 getter/setter가 있다.
🏻 DAO
데이터 접근을 위한 객체 sql에 set하는 구문이들어있다.
모델1 구조는 사용자의 요청을 JSP가 전부 다 처리합니다. 웹브라우저 사용자의 요청을 받은 JSP는 자바빈이나 서비스 클래스를 사용하여 웹브라우저가 요청한 작업을 처리하고 그 결과를 출력해줍니다.
Logic == Model
Jsp == View
모델 2 구조는 모델 1구조와 달리 웹브라우저 사용자의 요청을 서블릿이 받습니다. 서블릿은 웹브라우저의 요청을 받아 View로 보여줄것인지 Model로 보내줄것인지 정하여 전송해줍니다. 여기서 View페이지는 사용자에게 보여주는 역할만 담당하고 실질적인 기능의 부분은 Model에서 담당합니다. 모델2 방식의 경우 실질적으로 보여지는 HTML과 JAVA 소스를 분리 해놓았기 때문에 모델1방식에 비해 개발을 확장시키기도 쉽고 유지보수하기도 쉽습니다. (코딩을 좀 더 깔끔하게 할 수 있습니다.)
■ useBean
특정한 자바빈 파일을 사용한다고 명시할 때 사용된다.
<jsp:useBean id="빈 이름" class="자바빈 파일의 패키지.클래스명" scope="유효범위" />
■ setProperty (setter, useBean 필수)
데이터의 값을 설정 할 때 사용한다.
useBean의 id값을 name으로 지정, property의 속성이름의 값을 속성 값으로 설정한다.
<jsp:setProperty name="빈 이름" property="속성이름" value="속성 값"/>
<jsp:setProperty name="빈 이름" property="*" />
■ getProperty (getter, useBean 필수)
데이터의 값을 가져올 때 사용한다.
useBean의 id값을 name으로 지정, 해당 빈 이름에서 속성 이름의 값을 가져온다.
<jsp:getProperty name="빈 이름" property"속성 이름"/>