본문으로 바로가기
반응형

 

 

 

 

스프링 설정들을 마쳤으면 이제 홈 화면을 띄워보자.

 

먼저 따라 생성을 한 후에 동작원리를 알아보도록 하자.

 

 

 

 

 

●  홈 화면 생성하기  

 

 

 

 

1. src > main > resources > templates > hello.html 작성

 

 

 

 

 

 

 

2. hello.html 코드 작성

 

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <title>Hello</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
hello
</body>
</html>

 

 

 

 

 

 

3. src > main > java > hello.hellosporing(본인이 생성한 프로젝트)

  > HelloSpringApplication 클래스 이름 옆 플레이 버튼 누르기

 

 

 

 

 

4. 브라우저에 localhost:8080/hello 입력 후 엔터

 

정상적으로 html 파일이 작동한 것을 볼 수 있다.

 

 

 

 


 

▶ 동작 원리 (정적 페이지)

 

 

 

기본적으로 프로젝트 application을 실행하고, 사용자가 요청을 보내면(ex. /hello)

스프링 부트의 내장 톰캣 서버를 거쳐 

templates 디렉토리에 hello.html을 찾는다.

 

만약 있다면 hello.html 파일 안에 내용을 그대로 화면에 띄워주는 것이다.

 

 

 

 

 

 

 


 

 

● Thymeleaf 템플릿 엔진 적용

 

 

 

 

1. src > main > java > hello.hellospring(본인의 프로젝트) 에 controller 폴더를 생성

   폴더 안에 helloController java 파일 작성 후 

   우측 화면에 나와있는대로 작성

 

 

 

 

 

2. hello.html 파일 수정

 

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

 

 

 

 

 

 

3. application을 다시 플레이하면

 

 

 

 

 

 


 

▶ 동작 원리 (동적 페이지)

 

 

 

기본적으로 프로젝트 application을 실행하고, 사용자가 요청을 보내면(ex. /hello)

스프링 부트의 내장 톰캣 서버를 거쳐 

스프링 컨테이너에서 요청한 것(/hello)과 mapping 되는 클래스를 찾는다.

 

클래스 안에는 setattribute를 통해, data라는 이름에 hello를 넣어주었다.

 

이제 스프링 컨테이너 안에 있는 viewResolver

thymeleaf 템플릿 엔진을 처리한 후(model 값과 매치되는 값 변환)

 

사용자에게 hello.html을 응답해준다.

 

 

 

 

 

반응형