Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

[NarP Series] MVC ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‚ด ์†์— [๋‚˜ํ”„1ํƒ„]

๋ณธ ๊ณผ์ •์€ WEB MVC ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ฌด์—‡์ด๊ณ  WEB MVC ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ˜•์ด ๋˜๋ฉด์„œ Spring WEB MVC ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋„˜์–ด๊ฐ€๋Š”์ง€ TPC(์ƒ๊ฐํ•˜๊ณ -ํ‘œํ˜„ํ•˜๊ณ -์ฝ”๋”ฉํ•˜๊ณ ) ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ๋‹จ๊ณ„์ ์œผ๋กœ ํ•™์Šตํ•˜๊ณ  ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐฑ์—”๋“œ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ์ž๋ฐ” ์›น ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(WAS)์„ ๊ตฌ์ถ• ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Servlet๊ณผ JSP ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • JDBC๋ฅผ myBatis ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • MVC ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์›น์„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์„œ๋ฒ„์™€ Ajax ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Spring Web MVC ๊ตฌ์กฐ๋ฅผ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹จ๊ณ„๋ณ„ ํ•™์Šต(์ƒ๊ฐ-ํ‘œํ˜„-์ฝ”๋”ฉ)์„ ํ†ตํ•ด
WEB MVC ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•ด๋ณด์„ธ์š”!


ํ˜„์žฌ ์ž๋ฐ” ๊ฐœ๋ฐœ์—์„œ ํ•„์ˆ˜์ ์œผ๋กœ ์•Œ์•„์•ผ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ „์ž์ •๋ถ€ํ‘œ์ค€ํ”„๋ ˆ์ž„ ์›Œํฌ ๋˜ํ•œ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์ „์— ์•Œ์•„์•ผ ์‰ฝ๊ฒŒ ์ดํ•ด ํ•  ์ˆ˜๊ฐ€ ์žˆ๊ณ  ๊ธฐ์—…์˜ ์›น ERP์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  โ†’ ์ž๋ฐ” ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์š”ํ•œ Servlet, JSP๋ฅผ ๊ณต๋ถ€ํ•œ ๋‹ค์Œ โ†’ MVC ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ดํ•ดํ•˜๋ฉด ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ๊ณผ์ •์€ ์ด๋Ÿฐ ์—ฐ๊ณ„์„ฑ์„ ๊ณ ์ฐฐํ•˜๊ณ  ๋‹จ๊ณ„์  ์‹ค์Šต(๋‚˜ํ”„1~2ํƒ„)์„ ํ†ตํ•˜์—ฌ ์ •ํ™•ํ•˜๊ฒŒ MVC ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ฌด์—‡์ด๊ณ  MVC ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ˜•์ด ๋˜์–ด ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋„˜์–ด๊ฐ€๋Š”์ง€๋ฅผ ๊ทธ๋ฆผ๊ณผ ์„ค๋ช…์œผ๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

MVC ๊ตฌ์กฐ

M Model(Java) : ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹น, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™๊ณผ ์ฒ˜๋ฆฌ(CRUD)๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.
V View(JSP) : ํ”„๋ฆฌ์  ํ…Œ์ด์…˜๋กœ์ง์„ ๋‹ด๋‹น, ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ๋™์ ์ธ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค.
C Controller(Servlet) : ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›๊ณ , Model๊ณผ ์—ฐ๋™ํ•˜์—ฌ View๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ปจํŠธ๋กค ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค.



๋‹จ๊ณ„๋ณ„ ํ•™์Šต ๋‚ด์šฉ

[STEP-1] - ์›น ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ตฌ์„ฑ(WAS)ํ•˜๊ธฐ(Eclipse(eGovFrame), Tomcat, MySQL)
[STEP-2] - ์ดˆ๊ธฐ MVC ์ดํ•ดํ•˜๊ธฐ(Servlet, JSP, JSTL, EL)
[STEP-3] - ๋ณ€ํ˜• MVC ์ดํ•ดํ•˜๊ธฐ(FrontController, POJO, HandlerMapping, ViewResolver)
[STEP-4] - MVC์™€ Ajax์˜ ๋งŒ๋‚จ(myBatis, JavaScript, jQuery, Ajax, JSON)
[STEP-5] - Spring Web MVC(POJO๋ณ€ํ˜•, @์• ๋…ธํ…Œ์ด์…˜, ๋ฆฌํ”Œ๋ ‰์…˜, ํŒŒ๋ผ๋ฉ”ํ„ฐ ์ˆ˜์ง‘, Model, DI)

๋‹จ๊ณ„๋ณ„ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์„ฑ

 TPC ๊ฐ•์˜ ๊ธฐ๋ฒ• ํ™œ์šฉ

TPC๋ž€? Thinking-Presentation-Coding
TPC(์ƒ๊ฐํ•˜๊ณ -ํ‘œํ˜„ํ•˜๊ณ -์ฝ”๋”ฉํ•˜๊ณ ) ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ธฐ๋ฒ•


 

์˜ˆ์ƒ ์งˆ๋ฌธ Q&A

Q. ์ด ๊ฐ•์˜๋งŒ์˜ ํŠน๋ณ„ํ•œ ์žฅ์ ์ด ์žˆ์„๊นŒ์š”?
A. ์ž๋ฐ”๋ฅผ ๋ฐฐ์šด ํ›„ ์ž๋ฐ” ์›นํ”„๋กœ๊ทธ๋ž˜๋ฐ Servlet, JSP๋ฅผ ์‰ฝ๊ฒŒ ํ•™์Šต ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.
B. ํšŒ์›๊ด€๋ฆฌ ์˜ˆ์ œ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ํ•™์Šตํ•˜๋ฉด์„œ MVC ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.
C. ๊ทธ๋ฆผ๊ณผ ์„ค๋ช…์„ ํ™œ์šฉํ•˜์—ฌ(T.P.C) ์ดํ•ด๋„๋ฅผ ๋†’์ด๊ณ  ๋ณตํ•ฉ์ ์ธ ์‚ฌ๊ณ ๋ฅผ ํ•˜๊ณ ๋ก ์œ ๋„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. 

Q. ๋น„์ „๊ณต์ž๋„ ๋“ค์„ ์ˆ˜ ์žˆ๋‚˜์š”?
A. ๋น„์ „๊ณต์ž๋Š” ์กฐ๊ธˆ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์ง€๋งŒ, ํ•™์Šต๋…ธํŠธ(๊ทธ๋ฆผ)๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„์ „๊ณต์ž๋„ ๋”ฐ๋ผํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
B. ๋น„์ „๊ณต์ž๋“ค๋„ MVC ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ์ ‘๊ทผ ํ•  ์ˆ˜์žˆ๋„๋ก ์„ค๊ณ„๋œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

Q. ์™œ ์ด๋ฒˆ "MVC ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‚ด ์†์—" ๊ฐ•์˜๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”? 
A. MVC ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ณต๊ณต๊ธฐ๊ด€ ์›น ERP ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์— ๊ผญ ํ•„์š”ํ•œ ๊ธฐ์ˆ ์ด๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ์Šต๋“ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
B. ์ž๋ฐ”๋Š” ์›น์ด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ์ˆ  ์ž…๋‹ˆ๋‹ค. ์›น ๊ธฐ์ˆ ์„ ์ดํ•ดํ•˜๊ณ  ์›น ERP์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ด๋ณด๋ฉด ์‹ค๋ฌด์— ์ž์‹ ๊ฐ์ด ์ƒ๊ธฐ๊ณ  ์ž์‹ ์˜ ์ด๋ ฅ๊ด€๋ฆฌ์—๋„ ๋งŽ์€ ๋„์›€์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
C. ์Šคํ”„๋ง ์›น MVC ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์ดˆ๊ฐ€ ํƒ„ํƒ„ํ•ด์•ผ๋ฉ๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • Servlet, JSP๋ฅผ ํ•™์Šตํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • MVC ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • MVC ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•˜์—ฌ WEB ERP๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • SQL Mapping ํ”„๋ ˆ์ž„์›Œํฌ(myBatis)๋ฅผ ์•Œ๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • Spring Web MVC๋ฅผ ์ ์šฉํ•ด๋ณด๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ์ž๋ฐ” ๊ธฐ์ดˆ ํ•™์Šต์ž, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดํ•ด์ž

์•ˆ๋…•ํ•˜์„ธ์š”
๋ฐ•๋งค์ผ์ž…๋‹ˆ๋‹ค.

7,571

๋ช…

์ˆ˜๊ฐ•์ƒ

546

๊ฐœ

์ˆ˜๊ฐ•ํ‰

660

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

10

๊ฐœ

๊ฐ•์˜

์†Œํ”„ํŠธ์›จ์–ด ๊ต์œก์„ผํ„ฐ๋ฅผ ์šด์˜์ค‘์ด๋ฉฐ ๋Œ€ํ•™, ๊ด€๊ณต์„œ, ๊ธฐ์—…์ฒด์— ์ปจ์„คํŒ… ๋ฐ SW์œ„ํƒ๊ต์œก์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

- ์ฃผ์š”๊ฒฝ๋ ฅ -    

ํ•œ๊ตญ์ „๋ ฅ๊ณต์‚ฌ In-House ์ฝ”๋”ฉ ์œ„ํƒ ๊ต์œก

๊ด‘์ฃผ์ธ๊ณต์ง€๋Šฅ์‚ฌ๊ด€ํ•™๊ต๊ฐ•์˜

ํ•œ์–‘๋Œ€ํ•™๊ต ERICA ์˜จ๋ผ์ธ๊ฐ•์˜

๋น„ํŠธ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก์„ผํ„ฐ๋Œ€ํ‘œ
ํ•œ๊ตญ์‚ฐ์—…์ธ๋ ฅ๊ณต๋‹จ NCS๊ธฐ์—…ํ™œ์šฉ ์ปจ์„คํ„ดํŠธ

๋ฏธ๋ž˜์ฐฝ์กฐ๊ณผํ•™๋ถ€ SW์ฑ„์šฉ์—ฐ์ˆ˜๊ณผ์ • ๊ต์œก

ํ•œ๊ตญ์‚ฐ์—…๊ธฐ์ˆ ์žฌ๋‹จ ์ด๊ณต๊ณ„๋ฏธ์ทจ์—…์žํ˜„์žฅ์—ฐ์ˆ˜์‚ฌ์—…๊ต์œก

ํ•œ๊ตญ์ •๋ณดํ™”์ง„ํฅ์› ์žฅ์• ์ธ IT ์ „๋ฌธ๊ณผ์ • ๊ต์œก 
ICU ํ•œ๊ตญ์ •๋ณดํ†ต์‹ ๊ต์œก์› ๊ฐ•์˜

์†Œํ”„ํŠธ์›จ์–ด๋งˆ์ด์Šคํ„ฐ๊ณ ๋“ฑํ•™๊ต ์‚ฐํ•™ํ˜‘๋ ฅ๊ต์‚ฌ
์ธํ”„๋Ÿฐ - ์ž๋ฐ”,์›น,MVC,์Šคํ”„๋ง,IoT ์˜จ๋ผ์ธ๊ฐ•์˜
ํŒจ์ŠคํŠธ์บ ํผ์Šค - ๊ฐ์ฒด์ง€ํ–ฅ์ž๋ฐ” ์˜จ๋ผ์ธ๊ฐ•์˜,๋ฐฑ์—”๋“œ ๋ถ€ํŠธ์บ ํ”„ ๊ฐ•์˜

email : bitcocom@empas.com

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

60๊ฐœ โˆ™ (26์‹œ๊ฐ„ 43๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!