본문 바로가기
개인 공부/BackEnd Study

[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 2 -

by 킴도비 2024. 3. 9.

2.1 뷰 템플릿과 MVC 패턴

  • 뷰 템플릿이란?
    • 화면을 담당하는 기술
    • 웹 페이지(View)를 하나의 틀(Template)로 만들고 변수를 삽입해 서로 다른 페이지로 보여줌
  • 컨트롤러(Controller)란?
    • 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할
    • 컨트롤러의 이름은 'oooController'라고 지음
    • 컨트롤러 임을 선언하기 위해 @Controller 어노테이션 작성
  • 모델(Model)란?
    • 데이터를 관리하는 역할
  • MVC(Model-View-Controller) 패턴이란?
    • 웹 페이지를 화면에 보여주고, 클라이언트의 요청을 받아 처리하고, 데이터를 관리하는 역할을 나누는 기법

 

 

2.2 MVC 패턴을 활용해 뷰 템플릿 페이지 만들기

  • 확장자 mustache란?
    • 뷰 템플릿을 만드는 도구, 즉 뷰 템플릿 엔진을 의미
    • src > main > resources > templates에 위치
    • 그 외에는 Thymeleaf, JSP 등이 존재
  • 어노테이션(annotation)이란?
    • 소스 코드에 추가해 사용하는 메타 데이터의 일종
    • 메타 데이터는 컴파일 및 실행 과정에서 코드를 어떻게 처리해야 할지 알려주는 추가 정보
    • 자바에서는 앞에 @ 기호를 붙여 사용
  • @GetMapping 기본 사용 법
@GetMapping("/url주소")
public 반환형 함수명(){
	return "view명";
}
  • Model을 추가하여 사용하는 법
@GetMapping("/url주소")
public 반환형 함수명(Model model){
	model.addAttribute("html에서 사용하는 변수명", "넣을 데이터 값");
	return "view명";
}

 

 

2.3 MVC의 역할과 실행 흐름 이해하기

 

  • 웹 서비스는 클라이언트의 요청에 대한 서버의 응답으로 동작
  • 스프링 부트는 서버의 역할을 함.
  • 컨트롤러가 클라이언트의 요청을 받고, 뷰가 최종 페이지를 만들고, 모델이 최종 페이지에 쓰일 데이터를 뷰에 전달

 

2.4 뷰 템플릿 페이지에 레이아웃 적용하기

  • 레이아웃(layout)이란?
    • 화면에 요소를 배치하는 일
  • 헤더-푸터(header-footer) 레이아웃이란?
    • 가장 기본이 되는 레이아웃
    • 헤더 : 사이트 안내를 위한 내비게이션을 넣음
    • 푸터 : 사이트 정보를 넣음
    • 콘텐트(content) : 두 영역 사이에 사용자가 볼 핵심 내용 배치