1. Welcome page ๋ง๋ค๊ธฐ
static ์ด๋ผ๋ ์ ์ ํด๋ ๋ฐ์ index.html ์ด๋ผ๋ ์ด๋ฆ์ ํ์ผ์ ๋ง๋ค์ด์ฃผ๋ฉด ์๋์ผ๋ก welcome page ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
https://docs.spring.io/spring-boot/reference/web/servlet.html
์ฐธ๊ณ ๋ก Spring ๋ฒ์๊ฐ ๋๋ฌด ๊ด๋ํด์ Spring boot document ์ ๊ฐ์ ๋ด์ฉ์ ๋น ๋ฅด๊ฒ ์ฐพ๊ณ ๊ทธ๋๊ทธ๋ ํ์ธํ๋๊ฒ ์ค์ํ๋ค.
2. Template ๋ง๋ค๊ธฐ
์์์ ๋ง๋ ํ๋ฉด์ ํ์ผ์ ํต์งธ๋ก ๋์ ธ์ค์ ๋ณด์ฌ์ง ํ๋ฉด์ด๋ค. ํ๋ก๊ทธ๋๋ฐ์ด๋ผ ํ ์๊ฐ ์๋ค.
thymeleaf ํ ํ๋ฆฟ ์์ง์ ์จ์ ํ๋ก๊ทธ๋๋ฐ ๋ ํ์ด์ง๋ก ๋ง๋ค์ด๋ณด์.
src/main/java/.../firstproject/controller/HelloController.java
src/main/java/resources/templates/Hello.html
controller ๋ผ๋ ํจํค์ง์ HelloController.java ๋ผ๋ ํ์ผ, Hello.html ์ด๋ผ๋ ํ ํ๋ฆฟ ํ์ผ์ ๋ง๋ค์ด ์ฃผ์.
// HelloController.java
package com.yoonsung.firstproject.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";
}
}
@GetMapping ์ hello ๋ผ๋ url ์ ๋งค์นญํ๋ค๋ ๋ป. http://localhost:8080/hello
return "hello" ๋ resources/templates ๊ฒฝ๋ก์ hello ๋ผ๋ ์ด๋ฆ์ view html ํ์ผ์ ์ฐพ์๊ฐ๋ผ๋ ๋ป.
์ฆ, Spring Boot๋ controller ์์ return ๊ฐ์ผ๋ก ๋ฌธ์๋ฅผ ๋ฐํํ๋ฉด viewResolver ๊ฐ ํ๋ฉด์ ์ฐพ์์ ์ฒ๋ฆฌํ๋ ๋์ํ๋ฆ์ด๋ค.
// 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>
data ๊ฐ HelloController.java ์์ ์ด data ๋ก ๋ณ๊ฒฝ์ด ๋๋ค.
3. ํ๋ก์ ํธ ์คํ ๋ฐ ํ์ธ
http://localhost:8080/hello ๋ฅผ ์คํํ๋ฉด ์์ ๊ฐ์ด ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋ ํ๋ฉด์ด ์ ๋์จ๋ค.
'๐ฅ๏ธ Web Development Study > Back-End' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Back-End] ์คํ๋ง ์ ๋ฌธ :: Build, ์คํ (0) | 2024.05.27 |
---|---|
[Back-End] ์คํ๋ง ์ ๋ฌธ :: ํ๊ฒฝ ์ ํ (Java, IntelliJ, Spring Boot Starter) (0) | 2024.04.10 |