๐Ÿ“—Spring MVC Study [ MVC ]

Caruhยท2025๋…„ 3์›” 18์ผ

Spring MVC

๋ชฉ๋ก ๋ณด๊ธฐ
7/17
post-thumbnail

MVC ํŒจํ„ด

๊ฐœ์š”

๋„ˆ๋ฌด๋งŽ์€ ์—ญํ• 

  • ํ•˜๋‚˜์˜ ์„œ๋ธ”๋ฆฟ์ด๋‚˜ JSP๋งŒ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ทฐ ๋ Œ๋”๋ง๊นŒ์ง€ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜๋ฉด, ๋„ˆ๋ฌด ๋งŽ์œผ๋…€ ์—ญํ• ์„ ํ•˜๊ฒŒ๋˜๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›Œ์ง„๋‹ค.
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ˜ธ์ถœํ•˜๋Š” ๋ถ€๋ถ„์— ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•ด๋„ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์†๋Œ€์•ผ ํ•˜๋ฉฐ, UI๋ฅผ ๋ณ€๊ฒฝ ํ•  ์ผ์ด ์žˆ์–ด๋„ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ํ•จ๊ป˜ ์žˆ๋Š” ํ•ด๋‹น ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.

๋ณ€๊ฒฝ์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด

  • ์ง„์งœ ๋ฌธ์ œ๋Š” ๋ทฐ ๋กœ์ง๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋‘˜ ์‚ฌ์ด์— ๋ณ€๊ฒฝ์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด์ด ๋‹ค๋ฅด๋‹ค๋Š” ์ ์ด๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด์„œ UI๋ฅผ ์ผ๋ถ€ ์ˆ˜์ •ํ•˜๋Š” ์ผ๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜์ •ํ•˜๋Š” ์ผ์€ ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋†’๊ณ  ๋Œ€๋ถ€๋ถ„ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.
  • ๋ณ€๊ฒฝ ๋ผ์ดํ”„ ์‚ฌ์ดํด์ด ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์ข‹์ง€ ์•Š๋‹ค.

๊ธฐ๋Šฅ ํŠนํ™”

  • JSP์™€ ๊ฐ™์€ ๋ทฐ ํ…œํ”Œ๋ฆฟ์€ ํ™”๋ฉด์„ ๋ Œ๋”๋ง ํ•˜๋Š”๋ฐ ์ตœ์ ํ™” ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ถ€๋ถ„์˜ ์—…๋ฌด๋งŒ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ๊ณผ์ ์ž„.

Model View Controller

  • MVC ํŒจํ„ด์€ ํ•˜๋‚˜์˜ ์„œ๋ธ”๋ฆฟ์ด๋‚˜, JSP๋กœ ์ฒ˜๋ฆฌํ•˜๋˜ ๊ฒƒ์„ ์ปจํŠธ๋กค๋Ÿฌ(controller)์™€ ๋ทฐ(view)๋ผ๋Š” ์˜์—ญ์œผ๋กœ ์„œ๋กœ ์—ญํ• ์„ ๋‚˜๋ˆˆ ๊ฒƒ์„ ๋งํ•œ๋‹ค.
  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ณดํ†ต ์ด MVC ํŒจํ„ด์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ปจํŠธ๋กค๋Ÿฌ

  • HTTP ์š”์ฒญ์„ ๋ฐ›์•„์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์‹คํ–‰ํ•œ๋‹ค.
  • ๋ทฐ์— ์ „๋‹ฌํ•  ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•ด์„œ ๋ชจ๋ธ์— ๋‹ด๋Š”๋‹ค.

๋ชจ๋ธ

  • ๋ทฐ์— ์ถœ๋ ฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„๋‘”๋‹ค.
    ๋ทฐ๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๋ชจ๋ธ์— ๋‹ด์•„์„œ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๋•๋ถ„์— ๋ทฐ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด๋‚˜ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ๋ชฐ๋ผ๋„ ๋œ๋‹ค.
  • ํ™”๋ฉด์„ ๋ Œ๋”๋ง ํ•˜๋Š” ์ผ์— ์ง‘์ค‘

๋ทฐ

  • ๋ชจ๋ธ์— ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ™”๋ฉด์— ๊ทธ๋ฆฌ๋Š” ์ผ์— ์ง‘์ค‘ (HTML ์ƒ์„ฑ ๋ถ€๋ถ„์„ ์˜๋ฏธ)

  • ์œ„์™€ ๊ฐ™์€ ๊ทธ๋ฆผ์ด ์šฐ๋ฆฌ๊ฐ€ MVC๋ชจ๋ธ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๊ทธ๋ฆผ

MVC ํŒจํ„ด์˜ ํ•œ๊ณ„

  • MVC ํŒจํ„ด์„ ์ ์šฉํ•œ ๋•๋ถ„์— ์ปจํŠธ๋กค๋Ÿฌ์˜ ์—ญํ• ๊ณผ ๋ทฐ๋ฅผ ๋ Œ๋”๋ง ํ•˜๋Š” ์—ญํ• ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ทฐ๋Š” ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š” ์—ญํ• ์— ์ถฉ์‹ค -> ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•˜๊ณ  ์ง๊ด€์ , ๋‹จ์ˆœํ•˜๊ฒŒ ๋ชจ๋ธ์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด๊ณ , ํ™”๋ฉด์„ ์ƒ์„ฑ
  • ํ•˜์ง€๋งŒ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ค‘๋ณต์ด ๋งŽ๊ณ , ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๋“ค๋„ ๋งŽ์ด ๋ณด์ž„

๊ณตํ†ต ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์›€

  • ๊ธฐ๋Šฅ์ด ๋ณต์žกํ•ด์งˆ ์ˆ˜ ๋ก ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๊ณตํ†ต์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ์ ์  ๋” ๋งŽ์ด ์ฆ๊ฐ€
  • ์ค‘๋ณต ๋ถ€๋ถ„์„ ๋ฉ”์„œ๋“œ๋กœ ๋ฌถ์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ํ•ญ์ƒ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค.
  • ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์ปจํŠธ๋กค๋Ÿฌ ํ˜ธ์ถœ ์ „์— ๋จผ์ € ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. -> ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ ํŒจํ„ด
  • ์Šคํ”„๋ง MVC์˜ ํ•ต์‹ฌ๋„ ์ด ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ์— ์žˆ์Œ.

๐Ÿ“ญ Reference

profile
Backend Developer

0๊ฐœ์˜ ๋Œ“๊ธ€