โœ๏ธ DevLog/Devcourse

[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 47์ผ์ฐจ

hyebin (Helia) 2025. 6. 13. 18:29
๋ฐ˜์‘ํ˜•

์˜ค๋Š˜์€ Spring WebMVC์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ํ•™์Šตํ•˜๊ณ ,

Controller, ViewResolver, Tiles ์„ค์ •๊นŒ์ง€ ์‹ค์ œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ๋ฐฉ์‹์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ๋‹ค.

๋‹จ์ˆœํžˆ ๊ตฌ์กฐ๋งŒ ์ตํžˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, MySQL๊ณผ ์—ฐ๋™ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ค„๋ณด๋Š” ๊ณผ์ •๊นŒ์ง€ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์œ ์ตํ•œ ์ˆ˜์—…์ด์˜€๋‹ค.


๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ

๐Ÿ”ท Spring WebMVC ์•„ํ‚คํ…์ฒ˜์™€ ๊ตฌ์„ฑ ์š”์†Œ

WebMVC๋Š” Model2(MVC) ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, DispatcherServlet → Controller → Service/DAO → View๋กœ ์ด์–ด์ง€๋Š” ์š”์ฒญ ํ๋ฆ„์„ ํ•™์Šตํ–ˆ๋‹ค.

HandlerMapping, HandlerAdapter, ViewResolver, ModelAndView ๋“ฑ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์—ญํ• ์„ ์‹ค์Šต์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๐Ÿ”ถ View ๊ตฌ์„ฑ๊ณผ Tiles ํ™œ์šฉ

ViewResolver๋ฅผ ํ†ตํ•ด ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ฐ˜ํ™˜ํ•œ ๋ฌธ์ž์—ด์ด ์‹ค์ œ JSP ํŒŒ์ผ๋กœ ๋งคํ•‘๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ–ˆ๊ณ ,

Tiles ์„ค์ •์„ ํ†ตํ•ด ๊ณตํ†ต ๋ ˆ์ด์•„์›ƒ์„ ๋ถ„๋ฆฌํ•˜๊ณ , header/footer/body ๋“ฑ์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋ฐฐ์› ๋‹ค.

๋ ˆ์ด์•„์›ƒ ๊ตฌ์กฐ๋ฅผ ๋ฐ˜๋ณต ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ, ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๊ด€๋ฆฌ์— ์œ ๋ฆฌํ•˜๋‹ค๋Š” ์ ์ด ์ธ์ƒ ๊นŠ์—ˆ๋‹ค.


๐Ÿงก ๋А๋‚€ ์ 

์˜ค๋Š˜์€ Spring WebMVC์˜ ํ•ต์‹ฌ ๊ตฌ์กฐ๋ฅผ ์‹ค์Šต์„ ํ†ตํ•ด ์ง์ ‘ ์ตํ˜€๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์ด์ „์— ๋ฐฐ์šด JSP/Servlet ๊ธฐ๋ฐ˜ MVC ํ๋ฆ„๋ณด๋‹ค Spring WebMVC๋Š” ํ›จ์”ฌ ๋” ๊ตฌ์กฐ์ ์ด๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๋А๊ปด์กŒ๊ณ ,

ํŠนํžˆ DispatcherServlet์ด ๋ชจ๋“  ์š”์ฒญ์„ ์ค‘์‹ฌ์—์„œ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด ๋ˆˆ์— ์ž˜ ๋“ค์–ด์™”๋‹ค.

 

Spring์ด ์ ์  ์ต์ˆ™ํ•ด์ง€๋ฉด์„œ, ๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ๋„˜์–ด์„œ ๊ตฌ์กฐ์ ์ธ ์„ค๊ณ„์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ์กฐ๊ธˆ์”ฉ ๊ฐ์„ ์žก์•„๊ฐ€๋Š” ์ค‘์ด๋‹ค.

๋‹ค์Œ ์ˆ˜์—…์—์„œ๋Š” ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ด ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋  ๊ฒƒ ๊ฐ™์•„, ๊ธฐ๋Œ€๊ฐ€ ๋งŽ์ด ๋œ๋‹ค. ๐Ÿ˜†

๋ฐ˜์‘ํ˜•