1. MVC ▷ Model, View, Controller의 약자로, 웹 애플리케이션을 비즈니스 로직, 프레젠테이션로직, 데이터로 분리하는 디자인 패턴 ▷웹 애플리케이션에서는 일반적으로 애플리케이션을 비즈니스 로직, 프레젠테이션, 요청 처리 데이터로 분류 ▶비즈니스 로직은 애플리케이 션의 데이터, 즉 고객, 제품, 주문 정보의 조작에 사용 ▶ 프레젠테이션은 애플리케이션이 사용자에게 어떻게 표시되는지, 즉 위치, 폰트, 크기 ▶ 요청 처리 데이터는 비즈니스 로직과 프레젠테이션 파트를 함께 묶는 것
◎ MVC 패턴의 구성 요소 ▷ 모델(model): 애플리케이션의 데이터와 비즈니스 로직을 담는 객체 ▷ 뷰(view): 사용자에게 모델의 정보(데이터)를 보여주는 역할. 비즈니스 로직을 포함하지 않으며,
하나의 모델을 다양한 뷰에서 사용 ▷ 컨트롤러(controller): 모델과 뷰 사이에 어떤 동작이 있을 때 조정하는 역할 ▶ 웹으로부터 받은 요청에 가장 적합한 모델을 생성하는 것을 처리하는 역할과 사용자에게 응답하는
적절한 뷰를 선택하여 해당 모델을 전달하는 역할
2.1 모델 1 ▷ 모델 1은 기존의 JSP로만 구현한 웹 애플리케이션으로, 웹 브라우저의 요청을 JSP 페이지가 받아서 처리하는 구조 ▷JSP 페이지에 비즈니스 로직을 처리하는 코드와 웹 브라우저에 결과를 출력하는 코드가 섞이는 것 ▷모델 1에서는 JSP가 핵심 역할을 수행
2.2 모델 2
① 웹 브라우저가 웹 서버에 웹 애플리케이션 실행을 요청하면 웹 서버는 요청을 처리할 수 있는 컨트롤러(서블릿)를 찾아서 요청을 전달 ② 컨트롤러(서블릿)는 모델 자바 객체의 메소드를 호출 ③ 데이터를 가공하여 값 객체를 생성하거나 JDBC를 사용하여 데이터베이스와의 인터렉션을 통해 값 객체 생성 ④ 업무 수행을 마친 결과 값을 컨트롤러에 반환 ⑤ 컨트롤러는 모델로부터 받은 결과 값을 뷰에 전달 ⑥ JSP는 전달받은 값을 참조해서 출력할 결과를 만들어 웹 서버에 전달하고, 웹 브라우저는 웹서버로 부터 결과 값을 받아 화면에 출력
3. web.xml 파일에 서블릿 구성하기 ▷ <servlet> 요소로 서블릿 클래스 등록하기 ▶<servlet>은 웹 애플리케이션에서 사용될 기본 서블릿 객체와 매개변수를 설정하는 요소
▷<servlet-mapping> 요소로 요청 URL 패턴 설정하기 ▶ <servlet-mapping>은 웹 브라우저에서 요청되는 URL과 서블릿 클래스를 매핑하기 위해 URL 패턴을 설정하는 요소
◎ 컨트롤러 생성하기 ▷ 서블릿 클래스 생성하기 ▶ 서블릿 클래스는 HttpServlet 클래스를 확장하여 생성 ▶생성된 서블릿 클래스는 웹 브라우저에서 전송되는 GET 방식과 POST 방식에 따라 각각
doGet( ), doPost( ) 메소드를 통해 요청 작업을 수행한 후 웹 브라우저에 응답
POST : HTTP HEAD 안에 포함해서 전송하므로 안전 GET : URL에 포함할 수 있는 것이 한계가 있음
▷ 페이지 이동하기 ▶서블릿 클래스에서 웹 브라우저로부터 요청된 처리 결과를 보여줄 응답 페이지로 이동 ▶ 이때 현재 뷰 페이지에서 이동할 뷰 페이지에 요청 정보를 그대로 전달하며,
뷰 페이지가 이동해도 처음에 요청된 URL을 계속 유지하기 위해 포워딩 방식을 사용
◎ 모델 생성하기 ▷ 모델은 웹 애플리케이션의 비즈니스 로직을 포함하는 데이터로 웹 애플리케이션의 상태 ▷ 모델은 데이터베이스에서 데이터를 가져오거나, 웹 애플리케이션에 필요한 서비스를 수행하는
간단한 자바 클래스로 자바빈즈를 의미 ▷ 자바빈즈는 데이터를 담을 멤버 변수인 프로퍼티와 데이터를 가져오거나 저장하는 Getter/Setter( ) 메소드로 구성
◎ 뷰 생성하기 ▷뷰는 웹 브라우저의 요청을 처리한 결과를 사용자에게 보여주는 JSP 페이지를 의미 ▷뷰는 JSP가 제공하는 태그를 사용하여 컨트롤러가 전송한 모델 데이터를 웹 브라우저에 출력