Closed wongakim-99 closed 3 months ago
뷰 템플릿이란?
뷰 템플릿: 화면을 담당하는 기술로, 웹 페이지를 하나의 틀(Template)로 만들고 여기에 변수를 삽입해 서로 다른 페이지로 보여줌 MVC 패턴에서 V 담당
아까 Spring initializr에서 스프링 부트 프로젝트를 만들 때 머스테치(Mustache)라는 도구를 추가했음. 이 도구가 뷰 템플릿을 만드는 도구
MVC패턴
MVC 패턴은 디자인 패턴중 하나임 디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 말함.
MVC 패턴에서 화면을 담당하는 뷰 템플릿은 간단히 '뷰' 라고도 함.
뷰는 컨트롤러, 모델이라는 두 동료가 있음.
컨트롤러(Controller) : 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할 모델(Model) : 데이터를 관리하는 역할.
위와같이 클라이언트의 요청을 받아 처리하고(Controller), 데이터를 관리하는(Model) 역할을 나누는 기법을 MVC 패턴(Model-View-Controller)이라고 함.
이슈로그 3번 실습내용 요약
확인 퀴즈
MVC의 역할과 실행 흐름 이해
웹 서비스는 클라이언트의 요청에 대한 서버의 응답으로 동작. 이때 스프링 부트는 서버의 역할을 함
서버는 모델, 뷰, 컨트롤러가 유기적으로 역할을 분담해 클라이언트의 요청을 처리. 식당에서 웨이터가 주문을 받고, 주방장이 요리를 하고, 식재료 담당자가 재료를 준비하는 것처럼 컨트롤러가 클라이언트의 요청을 받고, 뷰가 최종 페이지를 만들고, 모델이 최종 페이지에 쓰일 데이터를 뷰에 전달
앞선 커밋 "https://github.com/wongakim-99/Spring-study/issues/3 - 모델 추가하기" 에서 /hi 페이지의 실행 흐름을 한번 살펴보자
"/bye" 페이지 생성후 실행결과 확인 ("/hi") 하고 똑같은 논리
확인 퀴즈2
다음 설명 중 옳지 않은 것
답 : 컨트롤러의 메서드 반환값은 뷰 템플릿 페이지의 확장자를 포함해 작성한다. (X)
MVC 패턴 정리
그 다음 챕터는 게시판 CRUD 만들기 :)
자바 어노테이션(Java Annotation) : 자바 언어에서 사용되는 메타데이터로, 클래스, 메서드, 변수 등에 붙여서 추가 정보를 제공하고, 런타임 시에 이 정보를 활용할 수 있습니다. 예를 들어, @Override 어노테이션은 메서드가 상위 클래스의 메서드를 오버라이드하고 있음을 명시합니다.
Object(객체) : 클래스의 인스턴스로, 실제로 메모리에 할당되어 동작하는 실체. 객체는 클래스에서 정의한 속성과 메서드를 가지고 있음.
Class(클래스) : 객체를 생성하기 위한 틀. 클래스는 객체가 가질 속성(데이터)과 메서드(함수)를 정의.
Instance(인스턴스) : 클래스를 기반으로 생성된 객체를 말함. 클래스에서 생성된 각각의 인스턴스는 고유한 상태(State)와 행동(Behavior)을 가지며, 객체의 특징을 표현.
Constructor(생성자) : 객체지향 프로그래밍에서 클래스의 인스턴스를 생성할 때 호출되는 특수한 메서드. 생성자의 주요 목적은 객체가 생성될 때 초기화 작업을 수행하는 것. 생성자는 클래스 내부에 정의되며, 객체가 생성될 때 자동으로 호출.
Override(오버라이드) : 오버라이드(Override)는 객체지향 프로그래밍에서 상속 관계에 있는 자식 클래스가 부모 클래스의 메서드를 재정의(덮어쓰기)하는 기능을 말함.
Overroad(오버로드) : 오버로드는 같은 이름의 메서드를 여러 개 정의하되, 각 메서드는 다른 매개변수 리스트(매개변수의 타입, 개수, 순서)를 가지는 것
웹 페이지를 하나의 틀로 보고 변수에 따라 서로 다르게 출력하는 뷰 템플릿 생성.