[Spring]동적 환경 동작

김피자·2022년 12월 23일
0

Spring

목록 보기
3/30

helloController

package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class helloController {
    @GetMapping("hello")
    public String hello(Model model){
        model.addAttribute("data","hello!!!");
        return "hello";
    }
}

hello.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<hed>
    <title>hello</title>
    <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"/>
</hed>
<body>
<p th:text="'안녕하세요. '+ ${data}">안녕하세요. 손님!</p>

</body>
</html>

동적 환경 그림

  1. 웹브라우저에서 localhost:8080/hello 라고 입력
  2. 스프링부트에서 내장하고 있는 톰캣 서버는 /hello을 spring에게 보냄
  3. spring은 helloController의 hello와 http url의 hello가 매칭 되는 것을 확인
  4. 해당 컨트롤러(helloController)의 메소드를 실행
  5. model에 key는 data, value는 hello!!!라고 값을 넣음
  6. return "hello"라고 문자를 반환
    resources > templates안의 hello를 찾아서 랜더링하라는 의미

    Controller에서 return 값으로 문자를 반환하면 viewResolver가 화면을 찾아서 처리

    스프링부트 템플릿엔진 기본 viewName 매핑
    'resources:templates/' + [ViewName] + '.html'

  1. viewResolver가 hello.html을 찾아 처리
  2. 웹 브라우저에서 hello.html 확인
profile
제로부터시작하는코딩생활

0개의 댓글