2022 01 09 - oneso123456789/2022 GitHub Wiki

08์ผ ์ปค๋ฐ‹ ๋ˆ„๋ฝ

์–ด์ œ ๋ฐฐ๊ฐ€ ์•„ํŒŒ์„œ ์ปค๋ฐ‹ ๋ˆ„๋ฝํ•จ 9์ผ ์˜คํ›„ 6์‹œ 21๋ถ„ ์‹คํ–‰
๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์ฃผ ์ค‘์œผ๋กœ ํŒŒ์ผ ์ถฉ๋Œ ํ…Œ์ŠคํŠธ๋„ ํ•ด๋ด์•ผํ• ๊บผ ๊ฐ™์Œ
๊นƒํ—ˆ๋ธŒ๋Š” ํ˜‘์—…์„ ์œ„ํ•ด์„œ ๋งŒ๋“ ๊ฑด๋Œ€ ๋‚˜์ค‘์— ํ˜‘์—…์‹œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„๋•Œ ์›ํ™œํ•œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด์„œ

์‹ค์Šต์™ธ ๋‚ด์šฉ ์ •๋ฆฌ

๋นŒ๋“œ์‹œ ์ž๋™์œผ๋กœ git or github์— ์—…๋ฐ์ดํŠธ๋ฅผ ์ณ์ฃผ๋Š”๊ฒŒ ์ข‹์Œ jenkins์‚ฌ์šฉํ•ด๋ณด๊ธฐ
ec2์ƒ์˜ ํ†ฐ์บฃ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ์•Œ์•„๋ณด๋‹ˆ ํŒŒ์ผ์„ ์ˆ˜์ •ํ• ๋•Œ๋งˆ๋‹ค ๊ณ„์† ์˜ฌ๋ ค์ค˜์•ผ ํ•ด์„œ ๋น„ํšจ์œจ์ ์ž„
db์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ผ๋‹จ ๋กœ์ปฌ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฐฐํฌ๋งŒ ec2์ƒ์— ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๊ฒ ์Œ

์Šคํ”„๋ง MVC์˜ ๊ธฐ๋ณธ๊ตฌ์กฐ

์Šคํ”„๋ง MVC๋ฅผ ํ•™์Šตํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ๋จผ์ € ๊ธฐ์–ตํ•ด์•ผํ•  ์ ์€ ์Šคํ”„๋ง MVC๊ฐ€ ์Šคํ”„๋ง์˜ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋ผ๋Š” ์ ์ž„
https://spring.io/project๋ฅผ ๋ณด๋ฉด Spring Framework๋ผ๋Š” ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ ์™ธ์—๋„
์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, ์Šคํ”„๋ง MVC์—ญ์‹œ ์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์ž„

์Šคํ”„๋ง์€ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•„๋‹ˆ๋ผ ์ฝ”์–ด๋ผ๊ณ  ํ• ์ˆ˜์žˆ๋Š”
ํ”„๋ ˆ์ž„์›Œํฌ์— ์—ฌ๋Ÿฌ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฒฐํ•ฉํ•ด์„œ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœ๋จ.

์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋ณ„๋„์˜ ์„ค์ •์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐœ๋…์ž„.
Spring Legacy Project๋กœ ์ƒ์„ฑํ•œ ์˜ˆ์ €์˜ ๊ฒฝ์šฐ์—๋„ servlet-context.xml๊ณผ root-context.xml๋กœ ์„ค์ • ํŒŒ์ผ์ด ๋ถ„๋ฆฌ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ”„๋ง MVC๊ฐ€ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ์ด๋ฏ€๋กœ ๊ตฌ์„ฑ ๋ฐฉ์‹์ด๋‚˜ ์„ค์ • ์—ญ์‹œ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ
Spring MVC ์„ค์ •์„ servlet-context.xml or ServletConfig.class์—
Spring Core and MyBatis ์„ค์ •์„ root-context.xml or RootConfig.Class์— ํ•จ

์Šคํ”„๋ง MVC ํ”„๋กœ์ ํŠธ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ

์Šคํ”„๋ง MVC ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” root-context.xml๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ผ๋ฐ˜
Java ์˜์—ญ(ํ”ํžˆ POJO(Plain Old Java Object))๊ณผ servlet-context.xml๋กœ ์„ค์ •ํ•˜๋Š” Web ๊ด€๋ จ ์˜์—ญ์„
๊ฐ™์ด ์—ฐ๋™ํ•ด์„œ ๊ตฌ๋™ํ•จ.

WebApplicationContext๋ผ๋Š” ์กด์žฌ๋Š” ๊ธฐ์กด์˜ ๊ตฌ์กฐ์— MVC์„ค์ •์„ ํฌํ•จํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์ง

์Šคํ”„๋ง์€ ์›๋ž˜ ๋ชฉ์  ์ž์ฒด๊ฐ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชฉ์ ์œผ๋กœ ๋‚˜์˜จ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—
๋‹ฌ๋ผ์ง€๋Š” ์˜์—ญ์— ๋Œ€ํ•ด์„œ๋Š” ์™„์ „ํžˆ ๋ถ„๋ฆฌํ•˜๊ณ  ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋จ

IDE๋‚ด Spring Legacy Project๋ฅผ ์ด์šฉํ•ด์„œ ex01์„ ์ƒ์„ฑ ํ”„๋กœ์ ํŠธ๋Š” Spring MVC Project๋กœ ์ƒ์„ฑํ•จ
ํŒจํ‚ค์ง€๋ช…์€ ๊ธฐ์กด๊ณผ ๋™์ผํ•˜๊ฒŒ com.crow.controller์ง€์ •

์ƒ์„ฑ๋œ ํ”„๋กœ์ ํŠธ๋Š” ์Šคํ”„๋ง 3๋ฒ„์ „์ด๋ฏ€๋กœ pom.xml์— 5.0.7๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝํ•จ
์ด๋•Œ ์ž๋ฐ” ๋ฒ„์ „ ์—ญ์‹œ 1.8๋กœ ๋ณ€๊ฒฝํ•จ
maven์˜ ์ปดํŒŒ์ผ ์˜ต์…˜์€ 1.8๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ
ex00์ฒ˜๋Ÿผ lombok๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ 1.18๋ฒ„์ „์˜ lombok๋„ ์ถ”๊ฐ€ํ•ด์คŒ
javax.servlet๋ฒ„์ „๋„ 3.1.0์œผ๋กœ ๋ณ€๊ฒฝ
์œ„์˜ ๋ณ€๊ฒฝ์ ์„ ์ถ”๊ฐ€ํ›„ ์ €์žฅํ•œ๋’ค Maven ๋ฉ”๋‰ด์—์„œ update project๋ฅผ ํ•ด์ค˜์„œ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธ

tomcat 9๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์„œ http://localhost:8080/controller ๊ฒฝ๋กœ์— home.htmlํŽ˜์ด์ง€๊ฐ€ ๋œจ๋Š”์ง€ ํ™•์ธ
๋˜ํ•œ ์›น ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ€๋Šฅํ•˜๋ฉด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•จ.
Tomcat์˜ 'Modules'๋ฉ”๋‰ด๋ฅผ ์ด์šฉํ•ด์„œ '/'๊ฒฝ๋กœ๋กœ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌ
ํ˜น์€ ํ•ด๋‹น Properties์˜ Web Project Settings ์†์„ฑ์„ '/'๋กœ ์ง€์ •

ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ๋กœ(Context Path)๋ฅผ ์ˆ˜์ •ํ•œ ๋’ค์—๋Š” '/'๊ฒฝ๋กœ๊ฐ€ ์ธ์‹๋˜๋Š”์ง€ Tomcat์„ ์žฌ์‹œ์ž‘ํ•ด์„œ ํ™•์ธํ•ด๋ณผ๊ฒƒ.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ