Spring/๐Ÿฅธ[spring]Mybatis+Jsp

IT ๋Šฆ๊ณต ๊น€๋ถ€์žฅ #2. Project ๋งŒ๋“ค๊ธฐ[Spring Boot + Mybatis + JSP]

1son 2022. 11. 14. 10:25

์›๋ž˜ ๋Œ€๋กœ๋ผ๋ฉด ํ•œ ๋ฒˆ ๋ฐ˜๋ณต ํ–ˆ๋˜ ๊ฒƒ์„ ๋‹ค์‹œ ๋ฐ˜๋ณตํ•˜๋Š”๊ฒŒ ๋งž์ง€๋งŒ 

๊น€๋ถ€์žฅ๋‹˜๊ป˜์„œ ์ฒ˜์Œ ๋“ ๋Š” ๋ถ„์ด๋ผ๋ฉด 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 

ํ•˜๋‚˜ ํ•˜๋‚˜ ํ•ด๋ณด๋Š” ์‹œ๊ฐ„ ์ด์—ˆ์Œ