Day 6
ํ
ํ๋ฆฟ ์์ง
์ง์ ๋ ํ ํ๋ฆฟ ์์๊ณผ ๋ฐ์ดํฐ๊ฐ ํฉ์ณ์ ธ์ HTML๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ sw๋ฅผ ์ผ๊ธฐํ๋ค
์๋ฒ์์ ๊ตฌ๋๋๋ค
์๋ฒ ํ ํ๋ฆฟ ์์ง์ ์ด์ฉํ ํ๋ฉด ์์ฑ์ ์๋ฒ์์ Java ์ฝ๋๋ก ๋ฌธ์์ด์ ๋ง๋ ๋ค, ์ด ๋ฌธ์์ด์ HTML์ผ๋ก ๋ณํํ์ฌ ๋ธ๋ผ์ฐ์ ๋ก ์ ๋ฌ
์๋ฒ โ ํ ํ๋ฆฟ โ java์ฝ๋ โ HTML โ ๋ธ๋ผ์ฐ์ ์ ๋ฌ
๋จธ์คํ
์น
์ ๋ง์ ์ธ์ด๋ฅผ ์ง์ํ๋ ๊ฐ์ฅ ์ฌํํ ํ ํ๋ฆฟ ์์ง
๋ฌธ๋ฒ์ด ๋ค๋ฅธ ํ ํ๋ฆฟ ์์ง๋ณด๋ค ์ฌํ
๋ก์ง ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ โ View/Server์ ์ญํ ์ด ๋ถ๋ช ํ๊ฒ ๋๋ ์ง
.js์ .java ์ด๋ ๊ฒ 2๊ฐ์ง๊ฐ ์์ด์ ํ๋์ ๋ฌธ๋ฒ์ผ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ ๋ชจ๋ ์ฌ์ฉ๊ฐ๋ฅ
ํ
ํ๋ฆฟ ์์ง์ ํ๋ฉด ์ญํ ์ ์ถฉ์คํด์ผ ํ๋ค!!
build.gradle
๋จธ์คํ ์น ์คํํฐ ์์กด์ฑ์ ๋ฑ๋ก(์คํ๋ง ๋ถํธ์์ ๊ณต์์ผ๋ก ์ง์ํ๋ ํ ํ๋ฆฟ ์์ง)
ํ์ผ ์์น : src/main/resource/templates
src/main/resource/templates/index.mustache
index.mustache๋ฅผ ๋ ๋๋งํด์ฃผ๋ ์ปจํธ๋กค๋ฌ
src/main/java/web/dto/IndexController.class
mustache ์คํํฐ ๋๋ถ์ ์ปจํธ๋กค๋ฌ์์ ๋ฌธ์์ด์ ๋ฐํํ ๋
์์ ๊ฒฝ๋ก(src/main/resources/template)
๋ค์ ํ์ผ ํ์ฅ์(.mustache)
์ด 2๊ฐ๋ ์๋์ผ๋ก ์ง์
๋ฆฌํด ๊ฐ์ธ "index"๋ src/main/resources/templates/index.mustache๋ก ๋ณํ๋์ด View Resolver๊ฐ ์ฒ๋ฆฌ
ํ ์คํธ ์ฝ๋
src/test/java/com/kyu/book/springboot/web/IndexControllerTest.class
์ค์ ๋ก URL์ด ํธ์ถ๋์์ ๋, ๋ด์ฉ์ด ์ ๋๋ก ํธ์ถ๋์๋์ง ํ ์คํธ
"์คํ๋ง ๋ถํธ๋ก ์์ํ๋ ์น ์๋น์ค"๋ผ๋ ๋ฌธ์ฅ์ด ์กด์ฌํ๋์ง ํ์ธ
๊ฒ์๊ธ ๋ฑ๋ก ํ๋ฉด ๋ง๋ค๊ธฐ
๋ถํธ์คํธ๋ฉ์ ์ด์ฉ
์ธ๋ถ CDN์ ์ฌ์ฉ โ ํ๋ก์ ํธ์ ๋ค์ด๋ก๋ ๋ฐ์ ํ์x, ๋จ์ง ์ฝ๋ ํ ์ค๋ง ์ถ๊ฐํ๋ฉด ใ ใ
ํ์ง๋ง ์ค์ ์๋น์ค์์๋ ์ฌ์ฉํ์ง ์๋๋ค โ CDN์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์๋น์ค์๋ ๋ฌธ์ ์๊น(์์ข์)
์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ์์ ์ฌ์ฉ
๋ถํธ์คํธ๋ฉ๊ณผ ์ ์ด์ฟผ๋ฆฌ๋ฅผ index.mustache์ ์ถ๊ฐ โ ๋ ์ด์์ ๋ฐฉ์์ ํ์ฉ
๋ ์ด์์ ๋ฐฉ์ : ๊ณตํต ์์ญ์ ๋ณ๋์ ํ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ํ์ํ ๊ณณ์์ ๊ฐ์ ธ๋ค ์ฌ์ฉํ๋ ๋ฐฉ์
src/main/resources/templates/layout์ footer.mustache, header.mustache๋ฅผ ์ถ๊ฐ
css๋ header์, js๋ footer์ โ ํ์ด์ง์ ๋ก๋ฉ์๋๋ฅผ ๋ํ๊ธฐ ์ํด
head๊ฐ ๋ค ๋ถ๋ฌ์ง์ง ์์ผ๋ฉด ์ฌ์ฉ์ ์ชฝ์์ ๋ฐฑ์ง ํ๋ฉด๋ง ๋ ธ์ถ
js์ ์ฉ๋์ด ํฌ๋ฉด ํด์๋ก body๋ถ๋ถ์ ์คํ์ด ๋ฆ์ด์ง โ js๋ body ํ๋จ์ ๋์ด ํ๋ฉด์ด ๋ค ๊ทธ๋ ค์ง ๋ค์ ํธ์ถ
css๋ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ์ญํ ์ด๊ธฐ ๋๋ฌธ์ head์์ ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์ข์
๋ถํธ์คํธ๋ฉ์ ์ ์ด์ฟผ๋ฆฌ๊ฐ ๊ผญ ์์ด์ผํ๊ธฐ ๋๋ฌธ์ ๋ถํธ์คํธ๋ฉ๋ณด๋ค ๋จผ์ ํธ์ถํ๋๋ก
footer์ header์ ์ถ๊ฐ๋ก index์๋ ์ง์ง ํ์ํ ์ฝ๋๋ง ๋จ๊ฒ ๋จ
src/main/resources/templates/index.mustache
{{>}}๋ ํ์ฌ mustacheํ์ผ์ ๊ธฐ์ค์ผ๋ก ๋ค๋ฅธ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๊ฒ
Last updated
Was this helpful?