๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/servlet, jsp10

์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์ด ์Šคํ”„๋ง ์ž๋ฐ”์—์„œ์˜ ๋™์ž‘ํ•˜๋Š” ํ๋ฆ„ ๊ณผ๊ฑฐ์— ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด ๋ดค์ง€๋งŒ, ํ•œ ๋ฒˆ ๋” ๊ฐœ๋…์„ ์ •๋ฆฌํ•˜๊ณ  ๋จธ๋ฆฟ์†์— ์žฅ๊ธฐ ๊ธฐ์–ต ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋ณต์Šต์„ ์ง„ํ–‰ ํ–ˆ๋‹ค. URL์— ์•ค๋“œํฌ์ธํŠธ ๋‹ค์Œ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์ด ์ž๋ฐ”(์Šคํ”„๋ง)์—์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์ธ๊ฐ€?? ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝ์„ ํ•œ๋‹ค๋ฉด, Spring MVC ๊ตฌ์กฐ๋กœ ์ž‘๋™ํ•˜๊ฒŒ ๋œ๋‹ค.1. Controller (์ปจํŠธ๋กค๋Ÿฌ) : ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ๋ฐ›์•„ ์„œ๋น„์Šค ๋ ˆ์ด์–ด์— ์ „๋‹ฌํ•˜๊ณ , ์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 2. Service (์„œ๋น„์Šค) : ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค. 3. Repository (๋ฆฌํฌ์ง€ํ† ๋ฆฌ) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์กฐํšŒ, ์ €์žฅ, ์‚ญ์ œ ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์˜ˆ์‹œ 1. Entity ํด๋ž˜์Šค (์ฑ…์ •๋ณด)import javax.persistence.Ent.. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/servlet, jsp 2024. 9. 15.
MVC Pattern 1. Model - View - Controller Model ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์š”๊ตฌ๋˜๋Š” ๊ด€์‹ฌ์‚ฌ์ด์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ƒํ™”, ๋ชจ๋ธ๋งํ•˜์—ฌ ํ‘œํ˜„๋œ ๊ฒฐ๊ณผ ํด๋ž˜์Šค View Model์„ UI Presentation ์— ํ‘œ์‹œํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š” ํด๋ž˜์Šค Controller ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ์„ ์ด์–ด์ฃผ๋Š” ๊ฐ€๊ต ์—ญํ•  ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ๋ฐ›์•„ Model ์กฐ์ž‘, View๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ 2. ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ ์ด๋Ÿฌํ•œ MVC ํŒจํ„ด์˜ ํ•ต์‹ฌ์€ ๋ณธ์งˆ์ ์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์—ญ ํ• ์„ ๋‹ด๋‹นํ•˜๋Š” ๋กœ์ง์„ ์—ญํ•  ๋ฏธ ์šฉ๋„์— ๋”ฐ๋ผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋””์ž์ด๋„ˆ๋Š” ์‹ฌ๋ฏธ์ ์ธ ์š”์†Œ์™€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค, ํ™”๋ฉด ๋ฐฐ์น˜๋ฅผ ์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ์—๋งŒ ์ง‘์ค‘ํ•˜๊ณ , ๊ฐœ๋ฐœ์ž๋Š” ์„œ๋น„์Šค์˜ ๋™์ž‘์— ํ•„์š”ํ•œ ๋กœ์ง ์ž‘์„ฑ์—๋งŒ ์ง‘์ค‘ํ•˜๋“ฏ์ด MVC๋Š” ์ด๋Ÿฌํ•œ ๊ฐ ์—ญํ• ์— .. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/servlet, jsp 2024. 1. 28.
JSP - Java Server Page JSP, Java Server Page JSP๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ Java code in HTML์„ ์˜๋ฏธํ•œ๋‹ค. ์„œ๋ธ”๋ฆฟ ๊ธฐ๋ฐ˜ HTML ํŽ˜์ด์ง€ ๊ตฌํ˜„์—์„œ ๋ดค๋“ฏ์ด, Java ์ฝ”๋“œ์— HTML์„ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•˜๊ธฐ์—” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, HTML ๋ฌธ์„œ์— Java ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ํŽธ๋ฆฌํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ทจ์ง€์—์„œ ๋“ฑ์žฅํ–ˆ๋‹ค. *Servlet ๊ธฐ๋ฐ˜ ๊ตฌํ˜„๊ณผ ๊ธฐ๋Šฅ์€ ๋™์ผ MVC ํŒจํ„ด์˜ ๋“ฑ์žฅ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ์„œ๋ธ”๋ฆฟ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ฒ˜๋ฆฌ JSP๋Š” ๋ชฉ์ ์— ๋งž๊ฒŒ HTML ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š” ์ผ์—๋งŒ ์ง‘์ค‘ Controller(์ปจํŠธ๋กค๋Ÿฌ) : HTTP ์š”์ฒญ ๋ฐ›์•„์„œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฒ€์ฆ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ˆ˜ํ–‰ Model(๋ชจ๋ธ) : ๋ทฐ์— ์ถœ๋ ฅํ•  ๋ฐ์ดํ„ฐ ๋ณด๊ด€, ๋ทฐ๋Š” ํ™”๋ฉด ๋ Œ๋”๋ง์—๋งŒ ์ง‘์ค‘์ด ๊ฐ€๋Šฅ View(๋ทฐ) : ๋ชจ๋ธ์— ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š”.. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/servlet, jsp 2024. 1. 28.
Foward & Redirect - ํŽ˜์ด์ง€ ์ด๋™ 1. ๊ฒฝ๋กœ ์ด๋™ ๋ฐฉ๋ฒ• ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ์ผ๋ จ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์ˆ˜ํ–‰ ์ค‘์ธ ์„œ๋ธ”๋ฆฟ์—์„œ ๋‹ค๋ฅธ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ๋„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€ ์ด๋‹ค. 1-1 Forward ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ์ „์†กํ•  ๊ฒฝ์šฐ, ์ฒ˜์Œ ์ „์†กํ•œ Servlet ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ Servlet์„ ๊ฑฐ์ณ์„œ ์‘๋‹ต์„ ๋ฐ›๋Š” ์ผ€์ด์Šค ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์„œ๋ธ”๋ฆฟ ๊ฐ„์— ์š”์ฒญ์ด ์ง„ํ–‰๋œ๋‹ค. ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ ์ž…์žฅ์—์„œ๋Š” URL์ด ๋ฐ”๋€Œ์ง€ ์•Š์€ URL ๊ฒฝ๋กœ ๋งŒ์œผ๋กœ ํ•ด๋‹น ์š”์ฒญ์ด ๋‹ค๋ฅธ ์š”์ฒญ์„ ๊ฐ€์ง„ ์„œ๋ธ”๋ฆฟ(ํŽ˜์ด์ง€)๋กœ ์ด๋™ํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ค๋‹ค. ํŠน์ง• ์„œ๋ธ”๋ฆฟ ๋‚ด๋ถ€์—์„œ ์š”์ฒญ์ด ๊ทธ๋Œ€๋กœ ์ด์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— Servlet1์—์„œ Servlet2๋กœ ์ด๋™ํ•  ๋•Œ request, response ๊ฐ์ฒด๊ฐ€ ์œ ์ง€๋˜์–ด์„œ .. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/servlet, jsp 2024. 1. 28.
Statement Management - ์ƒํƒœ ์ •๋ณด ์œ ์ง€ Http ํ”„๋กœํ† ์ฝœ์˜ ํŠน์„ฑ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฌด์ƒํƒœ(Stateless)๋กœ ๋™์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ ๋”ฐ๋ผ์„œ ์ด์ „์— ์—ฐ๊ฒฐ๋œ ์‹œ์ ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์„œ๋ฒ„๊ฐ€ ์œ ์ง€ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค! ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ƒํƒœ ์ •๋ณด๋ฅผ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์œ ์ง€์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํŠน์ • ๊ธฐ์ˆ ์ด ํ•„์š”ํ•˜๋‹ค ์ด๋Š” ์ƒํƒœ ์ •๋ณด๋ฅผ ํด๋ผ์ด์–ธํŠธ ์ชฝ์— ๋ณด๊ด€ ํ˜น์€ ์„œ๋ฒ„ ์ชฝ์—์„œ ๋ณด๊ด€ํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ์ฟ ํ‚ค(Cookie)์™€ ์„ธ์…˜(Session)์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. *์ƒํƒœ ์ •๋ณด(State Information) -> ์ง€์†์ ์ธ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ(ํ™”๋ฉด ์ „ํ™˜)์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ €์žฅํ•œ ์ •๋ณด(ex. ๋กœ๊ทธ์ธ ์ •๋ณด) ์ด๋Ÿฌํ•œ ์ƒํƒœ ์ •๋ณด ์œ ์ง€ ๊ธฐ์ˆ ์€ ํฌ๊ธฐ ์ €์žฅ ์œ„์น˜์™€ ์ €์žฅ ๊ธฐ๊ฐ„์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜๋œ๋‹ค. 1. ์ €์žฅ ์œ„์น˜์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ 1-1 ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅ - Cookie ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•œ๋‹ค๋Š” ์˜๋ฏธ - javax.servle.. ๊ฐœ๋ฐœ ์ง€์‹, ์Šคํฌ๋ฆฝํŠธ/servlet, jsp 2024. 1. 28.