스프링 1주차 스터디

혜준·2024년 4월 7일
post-thumbnail

Spring Study Note - 1주차 1장 기록

  1. 뷰 템플릿
  • 웹 페이지를 하나의 틀로 만들고 하나의 변수로 다른 페이지로 보여줌
  1. MVC패턴
  • Controller

= 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할

  • Model

= 웹페이지를 화면에 보여주고(View) 클라이언트의 요청을 받아 처리하고(Controller) 데이터 관리 역할(Model)

1)View

1) 확장자 mustache = 뷰 템플릿 엔진

resources/templates/greetings.mustache

<html>

<head>

<meta charset="UTF-8">

<meta name="viewport"

content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title></head>

<body>

<h1>홍팍님, 반갑습니다!</h1>

</body>

</html>

2) Controller

  • 웹 브라우저에서 보려면 컨트롤러와 모델 이용

@GetMapping("/hi")URL 요청 접수

public String niceToMeetYou(){

return "greetings"; //greeting.mustache를 반환하려면 파일이름인 greetings를 반환 //그러면 서버가 templates 디렉터리에서 뷰템플릿 엔진을 반환

}

  1. Controller 선언
  2. 반환값으로 페이지의 이름만 적어서 return
  3. 어노테이션을 통해 URL 요청 접수

3)Model

  • 다른 이름으로 변경하고 싶다면 변수를 써서 변경
  • 뷰 템플릿에서 사용되는 데이터 관리 역할

= 뷰 템플릿 엔진에 변수 삽입 ———→ {{변수명}}

@GetMapping("/hi")

public String niceToMeetYou(Model model){

model.addAttribute("username","hongpark");

return "greetings";

}

Model 클래스를 임포트한후 모델로 변수 등록

  • model.addAttribute(”변수명”,변숫값)

ex) model.addAttribute(”Username”,”hongpark)

MVC 역할과 실행 흐름

  • 웹 페이지는 클라이언트의 요청과 서버의 응답으로 이루어짐
  • Spring boot =server

@Controller — 1. 컨트롤러 선언

public class FirstController { — 2. URL요청 접수

@GetMapping("/hi")

public String niceToMeetYou(Model model){ — 3.메서드 수행 — 4. 모델 객체

model.addAttribute("username","hongpark"); — 5. 모델 변수 등록

return "greetings"; —- 6. 뷰 템플릿 페이지 반환

}

profile
성장을 추구하는 개발자 입니다 :)

0개의 댓글