IT ๋ฆ๊ณต ๊น๋ถ์ฅ #2. Project ๋ง๋ค๊ธฐ[Spring Boot + Mybatis + JSP]
์๋ ๋๋ก๋ผ๋ฉด ํ ๋ฒ ๋ฐ๋ณต ํ๋ ๊ฒ์ ๋ค์ ๋ฐ๋ณตํ๋๊ฒ ๋ง์ง๋ง
๊น๋ถ์ฅ๋๊ป์ ์ฒ์ ๋ ๋ ๋ถ์ด๋ผ๋ฉด mybatis ๋ถ๋ถ๋ถํฐ ๋ฃ๋ ๊ฒ ๋ง๋ ๊ฒ์ด๋ผ๊ณ ํ์ ์
๋ค์ ๋ฐ๋ณต์ mybatis ๋ถ๋ถ์ ํ ๊ณํ์ ๋๋ค.
Jar vs War ์ฐจ์ด
1. view: jsp ์ฌ์ฉ? War
2. ์ธ์ฅ was ์ฌ์ฉ? War
1,2 ๋ฒ์ด ์๋๋ฉด Jar ์ฌ์ฉ
์ฐ๋ฆฌ๋ view๋ฅผ thymeleaf๋ก ์ฌ์ฉํ๊ณ ๋ด์ฅ tomcat์ was๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค. -> jar ์ฌ์ฉํด๋ ๋จ
๋ณด๋ฉด, Jar์ด ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ๋์ด์์ ์คํ๋ง ์ง์์์๋ war๋ณด๋ค๋ jar๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๋ ์ถ์ธ?
๊ฐ๊ธ์ ์ด๋ฉด jsp๋ฅผ ์ฌ์ฉํ์ง ๋ง๊ฒ์ ๊ถ๊ณ ํ๊ณ ์๋ค?
์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ฒ ์ฃ .
์ ๋ jsp๋ฅผ ์ฃผ๋ก ์ธ ๊ฒ์ด๊ธฐ์ War ์ ํํ๊ฒ ์
(์ง์ฅ์์ ์ฐ๊ธฐ ๋๋ฌธ์)
next ๋๋ฌ์ dependency๋ web ํ๋ ์ถ๊ฐํ๊ณ
Gradle ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ธ์ค๋ ์ญํ ํ๋ค.
---
project ๋ง๋ฌ
jsp๋ฅผ view๋ก ํ๋ ์น์ ๋ง๋ค์ด์ผ ๋๊ธฐ ๋๋ฌธ์
์ค์ง์ ์ผ๋ก ๋ง๋ค์ด๋ณด์.
servlet์์๋ WEB-INF ์์๋ฅผ View๋ก ์ฌ์ฉํจ
hello.html ๊ฐ๋จํ ๋ง๋ค๊ณ
jsp์๋ ๋ง๋ค์ด์ค๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ฉด์ด ์ ๋จ๋ ์ง ์คํํด๋ณด๊ธฐ
์ฒ์์ผ๋ก ๋ด์ฅ Was ์คํํด๋ณด๊ธฐ
jsp๋ ์ ๋ ฅํ์ผ๋ ํ์ผ์ด ๋ค์ด๋ฐ์์ง.
jsp๋ ์ฌ์ฉํ๋ ค๋ฉด ์์กด์ฑ ์ถ๊ฐ๋ฅผ ํด์ค์ผํจ
๊ทธ ๋ถ๋ถ์ ์ถ๊ฐํ๊ณ ์คํํด๋ณผ๊ฒ
webapp ๋ฐ์ index.html ํ์ผ ์ถ๊ฐํด์ค๋๋ค.
index.html์ was ์๋ฒ๊ฐ ๊ฐ์ฅ ๋จผ์ ์ฝ์ ์ ์๋ ์์น์ด๊ธฐ ๋๋ฌธ๋ฐ ๋ง์ด๋ค ์ฌ์ฉ์ ํ์ฃ .
์์กด์ฑ ์ถ๊ฐํ๋ ๋ฐฉ์
2๊ฐ์ง ๋ฐฉ์ ์ฌ์ฉํ๋๋ฐ
start.spring.io ๋ค์ด๊ฐ์
์ด ์ฝ๋๋ง ์ง์ด๋ฃ์ผ๋ฉด ๋๋ค.
jsp ์ปดํ์ผ์ ์ํด tomcat jasper ์์กด์ฑ ์ถ๊ฐํ๊ธฐ
์ ๊ธฐ์ ์์ผ๋ฉด maven repository์ ๋ค์ด๊ฐ์ ๊ฒ์ํ์
build.gradle์ ๋ฃ์ด์ค๋ค.
์ ๋๋ ์ง ํ์ธํด๋ณด์.
์ด์ ์ ๋๋ก ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
application.properties | port ๋ณ๊ฒฝํ๊ธฐ
์์ฑ๊ฐ๋ค ๊ฐ์ง๊ณ ์๋ ๋ฏ
์ฝ๋ ๋ฃ์ด์ฃผ๊ณ
์ฝ๋ ์์ ํ๊ณ ๋ด๋ ธ๋ค ์ฌ๋ ธ๋ค ํ๊ธฐ ๊ท์ฐฎ, ์ด๊ฑธ ์ ์ฉ ์์ผ์ฃผ๋ ๋ถ๋ถ์ด ์์
-> devtools ์์กด์ฑ ์ถ๊ฐํ๊ธฐ
devtools ๋ฅผ ํตํ livereload ํ์ฑํ(html, jsp)
๋ด๋ ธ๋ค ์ฌ๋ฆฌ์ง ์์๋ ์์ 2์ด ์๊ฒผ๋ค์.
์ด๊ฑธ war๋ก ๋ฌถ์ด์ ๋ด์ฅ tomcat์ผ๋ก ๋์๊ฐ์ ๋ ๊ตฌ์กฐ๋ ์ด๋ป๊ฒ ๋๋ ์ง ๋ณด๊ฒ ์ต๋๋ค.
bootWar๋ฅผ ๋๋ธํด๋ฆญํจ
build์ libs ๋ค์ด๊ฐ๋ฉด ์ค๋ ์ท์ผ๋ก ๋ง๋ค์ด์ง๋ ๊ฑฐ ํ์ธ๊ฐ๋ฅ
war ํ์ผ ๊ตฌ์กฐ ์ฟ๋ณด๊ธฐ
๋ด์ฅ ํฐ์ผ ์ ์ด์ฉํด ์คํํด๋ณด๊ธฐ
๊ทธ๋ฌ๋ฉด intelij์์ ๋๋ ธ๋ ๊ฒ๊ณผ ๋์ผํ ๋ด์ฉ์ด ์ฌ๋ผ๊ฐ๊ฒ ๋จ
์คํ์ด ๋จ
๋จ๋ ์ผ๋ก pc์ ์๋ war ํ์ผ๋ง ๋๋ฆฐ๊ฑด๋ฐ ์คํ๋๋ ๊ฒ ํ์ธ ๊ฐ๋ฅ
๋ด์ฅํฐ์ผ์ด๋ค๋ ๊ฒ์ด ์ด๋ฐ ์๋ฏธ ๊ตฌ๋ ์ดํดํ๋ ๊ฒ ์ค์
๋ด์ฅํฐ์ผ์ผ๋ก ๋๋ฆด ์ ์์
---
ํ๋ก์ ํธ ๋ง๋๋ ๋ฐฉ์, buil tool , war, jar application.properties, ์์กด์ฑ ์ฃผ์ , build.gradle
ํ๋ ํ๋ ํด๋ณด๋ ์๊ฐ ์ด์์