Spring / 스프링 프레임워크 / 기초 / 정적페이지와 동적페이지

5479 단어 Spring백엔드Spring

정적 컨텐츠 vs MVC와 템플릿 엔진

정적 컨텐츠는 그림 자체를 사용자에게 전달해주는 느낌이면,
MVC~는 변형, 가공을 해서 주는 느낌

정적 컨텐츠 html 만들어주기

static 폴더 안에 hello-static.html 만들어주기

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>static content</title>
</head>
<body>
정적 컨텐츠 입니다
</body>
</html>

localhost:8080/hello-static.html 접속해보기

  1. 내가 localhost:8080/hello-static.html 주소창에 쳤어.
  2. 내장 톰캣 서버로 가겠지?
  3. 그러면 스프링 컨테이너에서 hello-static 컨트롤러가 있는지부터 찾아.
  4. 없으면 static/hello-static.html이 있는지 찾아
  5. 있으면 웹브라우저로 보내주는 거야.

동적 컨텐츠 Controller, 템플릿 만들어주기

HelloController.java 컨트롤러에 아래 추가해주기.

hello-mvc라는 주소로 매핑될 거고,

새로 생긴건 RequestParam인데

이건 말그대로 name 이라는 param을 요청할 거라는 의미!
어떻게 요청할 지 뒤에서 알아보자.
다음은 동일하다.
모델에서 name이라는 속성을 가질거고, 결국 템플릿 반환된다는거.

템플릿 코드는

<html xmlns:th="http://www.thymeleaf.org">

<body>
    <p th:text="'안녕하세요. ' + ${name}" >비어있음. </p>
</body>
</html>

위와 같다.

즉, 안녕하세요 name이 뜨는 템플릿이고,

이 name을 사용자 측에서 입력 하는 방법은
?name=~과 같이 주소를 입력할 때 같이 붙여주면 된다.

이런식으로!

name=spring을 해주었기 때문에 뒤에 spring이 붙는 것.

동적 템플릿의 진행 순서는

  1. 브라우저 주소창에 http://localhost:8080/hello-mvc?name=spring을 입력한다.
  2. 내장 톰캣 서버로 이 주소는 이동된다.
  3. 우선 helloController와 만나게 된다.
  4. hello-template이 return 되고, model(name:spring)이 생성된다.
  5. viewResolver에서 hello-template.html의 템플릿 엔진을 처리하여 html로 변환하여 웹브라우저로 보낸다.

좋은 웹페이지 즐겨찾기