โœ๏ธ DevLog/Devcourse

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

hyebin (Helia) 2025. 6. 10. 15:49
๋ฐ˜์‘ํ˜•

์˜ค๋Š˜์€ JSP์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋‚ด์žฅ ๊ฐ์ฒด์™€ ์•ก์…˜ํƒœ๊ทธ, ๊ทธ๋ฆฌ๊ณ  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐ์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ MVC(Model2) ๊ฐœ๋…๊นŒ์ง€ ๋ฐฐ์šฐ๋ฉฐ, ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ•œ์ธต ๋” ๋‹ค์งˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํŠนํžˆ ์‹ค์ œ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•ด ๋ณด๋ฉด์„œ ๊ฐ ๊ฐœ๋…์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์กฐ๊ธˆ์”ฉ ์ดํ•ด๊ฐ€ ๋˜์—ˆ๋‹ค.


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

๐Ÿ”ท ๋‚ด์žฅ ๊ฐ์ฒด (request, response, out, session, application)

JSP์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅ ๊ฐ์ฒด๋“ค์˜ ํŠน์ง•๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ํ•™์Šตํ–ˆ๋‹ค.

request ๊ฐ์ฒด๋กœ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , response ๊ฐ์ฒด๋กœ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์—ฐ์Šตํ–ˆ๋‹ค.

 

๋˜ํ•œ out ๊ฐ์ฒด๋กœ HTML ์ถœ๋ ฅ์„ ๋‹ด๋‹นํ•˜๊ณ , session ๊ฐ์ฒด๋กœ ์‚ฌ์šฉ์ž๋ณ„ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ, application ๊ฐ์ฒด๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์—ญ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•๊นŒ์ง€ ๋ฐฐ์› ๋‹ค.

๊ฐ ๊ฐ์ฒด์˜ ์ƒ๋ช…์ฃผ๊ธฐ์™€ ๊ณต์œ  ๋ฒ”์œ„๋„ ํ•จ๊ป˜ ์ •๋ฆฌํ–ˆ๋‹ค.

 

๐Ÿ”ถ ์•ก์…˜ํƒœ๊ทธ (include, forward)

jsp:include๋ฅผ ์‚ฌ์šฉํ•ด JSP ์ฝ”๋“œ ์ผ๋ถ€๋ฅผ ํฌํ•จ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•๊ณผ, jsp:forward๋กœ ํŽ˜์ด์ง€ ์ด๋™๊ณผ ๊ฐ’ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ๋กœ ์ด๋ฏธ์ง€ ์ถœ๋ ฅ, ์•„์ด๋”” ๊ฒ€์ฆ ํ›„ ํŽ˜์ด์ง€ ์ด๋™ ๋“ฑ์„ ์‹ค์Šตํ•˜๋ฉด์„œ ์•ก์…˜ํƒœ๊ทธ์˜ ์—ญํ• ๊ณผ ํ™œ์šฉ๋ฒ•์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ตํž ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๐ŸŸฉ MVC(Model2)

์„œ๋ธ”๋ฆฟ๊ณผ JSP๋ฅผ ๋ถ„๋ฆฌํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ํ™”๋ฉด ์ถœ๋ ฅ์„ ๋‚˜๋ˆ„๋Š” MVC ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ–ˆ๋‹ค.

Model1 ๋ฐฉ์‹๊ณผ ๋น„๊ตํ•˜๋ฉฐ Model2๊ฐ€ ๋” ํšจ์œจ์ ์ด๋ผ๋Š” ์ ์„ ํ™•์ธํ–ˆ๊ณ ,

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด MVC ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.


๐Ÿงก ๋А๋‚€ ์ 

์˜ค๋Š˜์€ JSP์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋‚ด์žฅ ๊ฐ์ฒด์™€ ์•ก์…˜ํƒœ๊ทธ๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ, ์›น ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋“ค์„ ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.

ํŠนํžˆ request์™€ response ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ๊ณผ ์„œ๋ฒ„ ์‘๋‹ต์˜ ํ๋ฆ„์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , session๊ณผ application ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋ณ„ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์™€ ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ณต์œ ์˜ ๊ฐœ๋…๋„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

MVC ํŒจํ„ด์€ ์ฒ˜์Œ์—” ์กฐ๊ธˆ ๋ณต์žกํ•˜๊ฒŒ ๋А๊ปด์กŒ์ง€๋งŒ, ์„œ๋ธ”๋ฆฟ๊ณผ JSP์˜ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด

์•ž์œผ๋กœ์˜ ์›น ๊ฐœ๋ฐœ์—์„œ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

์˜ค๋Š˜์ฒ˜๋Ÿผ ํ•˜๋‚˜์”ฉ ๋ฐฐ์šฐ๊ณ  ์‹ค์Šตํ•˜๋ฉฐ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ์™€ ํ๋ฆ„์„ ์ ์  ์ดํ•ดํ•ด๊ฐ€๋Š” ๊ณผ์ •์ด ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค.

์•ž์œผ๋กœ๋„ ์ด๋ ‡๊ฒŒ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๊ณ„์† ๋‹ค์ ธ๊ฐ€๋ฉด์„œ ๋” ์ž์‹ ๊ฐ ์žˆ๊ฒŒ ์›น ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์‹ถ๋‹ค.

๋ฐ˜์‘ํ˜•