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

spring43

[Spring] ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ดํ•ด... ์›น์€ HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋กœ ๋‚˜๋‰˜์–ด ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค.. HTTP ๋ฉ”์‹œ์ง€๋กœ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค. HTML, TEXT ์ด๋ฏธ์ง€, ์Œ์„ฑ, ์˜์ƒ, ํŒŒ์ผ JSON, XML (API) ๊ฑฐ์˜ ๋ชจ๋“  ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ€๋Šฅ ์„œ๋ฒ„๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋„ ๋Œ€๋ถ€๋ถ„ HTTP ์‚ฌ์šฉ ์›น ์„œ๋ฒ„(Web Server) HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ ์ •์  ๋ฆฌ์†Œ์Šค ์ œ๊ณต, ๊ธฐํƒ€ ๋ถ€๊ฐ€๊ธฐ๋Šฅ ์ •์ (ํŒŒ์ผ) HTML, CSS, JS, ์ด๋ฏธ์ง€, ์˜์ƒ ์˜ˆ) NGINX, APACHE ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS - Web Application Server) HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ ์›น ์„œ๋ฒ„ ๊ธฐ๋Šฅ ํฌํ•จ (์ •์  ๋ฆฌ์†Œ์Šค ์ œ๊ณต ๊ฐ€๋Šฅ) ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง ์ˆ˜ํ–‰ ๋™์  HTML, HTTP API(JSON) ์„œ๋ธ”๋ฆฟ.. 2023. 8. 1.
[Spring] Spring MVC์˜ @ModelAttribute ์–ด๋…ธํ…Œ์ด์…˜ @ModelAttribute๋Š” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜(Annotation) ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์Šคํ”„๋ง์€ MVC(Model-View-Controller) ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. @ModelAttribute ์–ด๋…ธํ…Œ์ด์…˜์€ ์ฃผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ชจ๋ธ ์†์„ฑ์„ ๋ฐ”์ธ๋”ฉํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ๋ชจ๋ธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜์—ฌ ๋ทฐ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. @ModelAttribute๊ฐ€ @GetMappingํ•จ์ˆ˜์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐˆ๋•Œ ์—ฌ๊ธฐ์„œ @ModelAttribute๋Š” ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ชจ๋ธ ์†์„ฑ์„ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ์›น ์š”์ฒญ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ทฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ.. 2023. 7. 31.
[Spring] ๊ฐ„๋‹จํ•œ ์‡ผํ•‘๋ชฐ ์˜ˆ์ œ ๋„๋ฉ”์ธ ์„ค๊ณ„ ํšŒ์› ๊ธฐ๋Šฅ ํšŒ์› ๋“ฑ๋ก ํšŒ์› ์กฐํšŒ ์ƒํ’ˆ ๊ธฐ๋Šฅ ์ƒํ’ˆ ๋“ฑ๋ก ์ƒํ’ˆ ์ˆ˜์ • ์ƒํ’ˆ ์กฐํšŒ ์ฃผ๋ฌธ ๊ธฐ๋Šฅ ์ƒํ’ˆ ์ฃผ๋ฌธ ์ฃผ๋ฌธ ๋‚ด์—ญ ์กฐํšŒ ์ฃผ๋ฌธ ์ทจ์†Œ ๊ธฐํƒ€ ์š”๊ตฌ์‚ฌํ•ญ ์ƒํ’ˆ์˜ ์žฌ๊ณ  ๊ด€๋ฆฌ ์ƒํ’ˆ ์ข…๋ฅ˜๋กœ๋Š” ๋„์„œ, ์Œ๋ฐ˜, ์˜ํ™” (์นดํ…Œ๊ณ ๋ฆฌ) ์ƒํ’ˆ ์ฃผ๋ฌธ์‹œ ๋ฐฐ์†ก ์ •๋ณด ์ž…๋ ฅ ๋„๋ฉ”์ธ ๋ชจ๋ธ๊ณผ ํ…Œ์ด๋ธ” ์„ค๊ณ„ ํšŒ์›, ์ฃผ๋ฌธ, ์ƒํ’ˆ์˜ ๊ด€๊ณ„ : ํšŒ์›์€ ์—ฌ๋Ÿฌ ์ƒํ’ˆ ์ฃผ๋ฌธ ๊ฐ€๋Šฅ (์ฃผ๋ฌธ ↔๏ธ ์ƒํ’ˆ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„) ํ•˜์ง€๋งŒ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—”ํ‹ฐํ‹ฐ์—์„œ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ฃผ๋ฌธ ์ƒํ’ˆ์ด๋ผ๋Š” ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ ๊ด€๊ณ„๋กœ ํ’€์–ด๋‚ธ๋‹ค. ์ƒํ’ˆ ๋ถ„๋ฅ˜ : ๋„์„œ, ์Œ๋ฐ˜, ์˜ํ™”๋Š” ์ƒํ’ˆ์ด๋ผ๋Š” ๊ณตํ†ต ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒ์† ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ํšŒ์›(Member): ์ด๋ฆ„๊ณผ ์ž„๋ฒ ๋””๋“œ ํƒ€์ž…์ธ ์ฃผ์†Œ(Address), ๊ทธ๋ฆฌ๊ณ  ์ฃผ๋ฌธ(orders) ๋ฆฌ์ŠคํŠธ.. 2023. 7. 23.
Spring - ๋นˆ ์Šค์ฝ”ํ”„ ๋นˆ ์Šค์ฝ”ํ”„๋ž€ ? ์Šคํ”„๋ง ๋นˆ์ด ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑ๋˜์–ด์„œ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ์œ ์ง€๋œ๋‹ค๊ณ  ํ•™์Šตํ–ˆ๋‹ค. ์ด๋Š” ์Šคํ”„๋ง ๋นˆ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ํ†ค ์Šค์ฝ”ํ”„๋กœ ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์Šค์ฝ”ํ”„๋Š” ๋นˆ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ๋œปํ•œ๋‹ค. ์Šคํ”„๋ง์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์Šค์ฝ”ํ”„๋ฅผ ์ง€์›ํ•œ๋‹ค. ์‹ฑ๊ธ€ํ†ค :๊ธฐ๋ณธ ์Šค์ฝ”ํ”„, ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ๊นŒ์ง€ ์œ ์ง€๋˜๋Š” ๊ฐ€์žฅ ๋„“์€ ๋ฒ”์œ„์˜ ์Šค์ฝ”ํ”„์ด๋‹ค. ํ”„๋กœํ† ํƒ€์ž… :์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋Š” ํ”„๋กœํ† ํƒ€์ž… ๋นˆ์˜ ์ƒ์„ฑ๊ณผ ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…๊นŒ์ง€๋งŒ ๊ด€์—ฌํ•˜๊ณ  ๋”๋Š” ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š” ๋งค์šฐ ์งง์€ ๋ฒ”์œ„์˜ ์Šค์ฝ”ํ”„์ด๋‹ค. ์›น ๊ด€๋ จ ์Šค์ฝ”ํ”„ : request: ์›น ์š”์ฒญ์ด ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐˆ๋•Œ ๊นŒ์ง€ ์œ ์ง€๋˜๋Š” ์Šค์ฝ”ํ”„์ด๋‹ค. session: ์›น ์„ธ์…˜์ด ์ƒ์„ฑ๋˜๊ณ  ์ข…๋ฃŒ๋  ๋•Œ ๊นŒ์ง€ ์œ ์ง€๋˜๋Š” ์Šค์ฝ”ํ”„์ด๋‹ค. application: ์›น์˜ ์„œ๋ธ”๋ฆฟ .. 2023. 7. 17.