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

์ „์ฒด ๊ธ€114

[Spring] Spring MVC์˜ @PathVariable ์–ด๋…ธํ…Œ์ด์…˜ '@PathVariable'์€ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์›น ์š”์ฒญ์˜ URL ๊ฒฝ๋กœ(Path)์—์„œ ๋ณ€์ˆ˜๋ฅผ ์ถ”์ถœํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜์ด๋‹ค. ์ฃผ๋กœ RESTful ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ URL ๊ฒฝ๋กœ์— ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ• ๋•Œ ํ™œ์šฉ๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ URL์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค: http://example.com/somePath/{variable} {variable} ๋ถ€๋ถ„์€ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ๊ฐ’์ด๋ฉฐ, @PathVariable์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํŠธ๋กค๋Ÿฌ ๋ฉ”์„œ๋“œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, @Controller public class MyController { @GetMapping("/greet/{name}") public String greetUser(@PathVariable("name") S.. 2023. 7. 31.
[Toyproject][Linux/Unix] ์˜ํ™”๊ด€ ํ‚ค์˜ค์Šคํฌ ํ”„๋กœ์ ํŠธ linux_kiosk ๐Ÿฟlinux_final_project_Theater ์˜ํ™”๊ด€ ํ‚ค์˜ค์Šคํฌ ๊ฐœ๋ฐœ ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ (s erver client) ๋ชจ๋ธ๋กœ ๋™์ž‘ํ•˜๋Š” ํ‚ค์˜ค์Šคํฌ ์‹œ์Šคํ…œ ์„œ๋ฒ„๋Š” ํ‚ค์˜ค์Šคํฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ๋Š” ํ‚ค์˜ค์Šคํฌ ์˜ ๊ณ ๊ฐ ์—ญ ํ• ์„ ์ˆ˜ํ–‰ ์„œ๋ฒ„๋Š” ํ‚ค์˜ค์Šคํฌ ๊ด€๋ฆฌ ์ƒํ’ˆ๊ณผ ๊ฐ ์ƒํ’ˆ์˜ ์ˆ˜๋Ÿ‰์„ ๊ด€๋ฆฌ ํด๋ผ์ด์–ธํŠธ๋“ค์—๊ฒŒ ์„œ๋น„์Šค ์ œ๊ณต ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ ํด๋ผ์ด์–ธํŠธ๋Š” ํ‚ค์˜ค์Šคํฌ ์‚ฌ์šฉ์„ ์ˆ˜ํ–‰ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ์„œ๋ฒ„ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‚ค์˜ค์Šคํฌ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณต ์ƒ ํ’ˆ ์˜ ์ข… ๋ฅ˜ ๋ฐ ๊ฐ ์ƒ ํ’ˆ ์˜ ๊ฐ€ ๊ฒฉ , ์ˆ˜ ๋Ÿ‰ ๋“ฑ ๊ฐ ์ƒํ’ˆ์— ๋Œ€ํ•œ ์ˆ˜๋Ÿ‰ ๊ด€๋ฆฌ ์ˆ˜๋Ÿ‰ ์ดˆ๊ณผ ์‹œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒํ’ˆ์„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์—†๋„๋ก ํ•จ ์ˆ˜๋Ÿ‰์ด ์ถฉ๋ถ„ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒํ’ˆ ์ˆ˜๋ นํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ ์ƒ ํ’ˆ ์ด ๊ธˆ ์•ก ๊ณผ ์ง€ ๋ถˆ ๊ธˆ ์•ก ์„ ๋น„ ๊ต ํ•˜์—ฌ ๊ฐ ์‚ฌ ์šฉ .. 2023. 7. 31.
[Spring] Spring MVC์˜ @ModelAttribute ์–ด๋…ธํ…Œ์ด์…˜ @ModelAttribute๋Š” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜(Annotation) ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์Šคํ”„๋ง์€ MVC(Model-View-Controller) ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. @ModelAttribute ์–ด๋…ธํ…Œ์ด์…˜์€ ์ฃผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ชจ๋ธ ์†์„ฑ์„ ๋ฐ”์ธ๋”ฉํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ๋ชจ๋ธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜์—ฌ ๋ทฐ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. @ModelAttribute๊ฐ€ @GetMappingํ•จ์ˆ˜์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐˆ๋•Œ ์—ฌ๊ธฐ์„œ @ModelAttribute๋Š” ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ชจ๋ธ ์†์„ฑ์„ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ์›น ์š”์ฒญ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ทฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ.. 2023. 7. 31.
[Spring] ๊ฐ„๋‹จํ•œ ์‡ผํ•‘๋ชฐ ์˜ˆ์ œ ๋„๋ฉ”์ธ ์„ค๊ณ„ ํšŒ์› ๊ธฐ๋Šฅ ํšŒ์› ๋“ฑ๋ก ํšŒ์› ์กฐํšŒ ์ƒํ’ˆ ๊ธฐ๋Šฅ ์ƒํ’ˆ ๋“ฑ๋ก ์ƒํ’ˆ ์ˆ˜์ • ์ƒํ’ˆ ์กฐํšŒ ์ฃผ๋ฌธ ๊ธฐ๋Šฅ ์ƒํ’ˆ ์ฃผ๋ฌธ ์ฃผ๋ฌธ ๋‚ด์—ญ ์กฐํšŒ ์ฃผ๋ฌธ ์ทจ์†Œ ๊ธฐํƒ€ ์š”๊ตฌ์‚ฌํ•ญ ์ƒํ’ˆ์˜ ์žฌ๊ณ  ๊ด€๋ฆฌ ์ƒํ’ˆ ์ข…๋ฅ˜๋กœ๋Š” ๋„์„œ, ์Œ๋ฐ˜, ์˜ํ™” (์นดํ…Œ๊ณ ๋ฆฌ) ์ƒํ’ˆ ์ฃผ๋ฌธ์‹œ ๋ฐฐ์†ก ์ •๋ณด ์ž…๋ ฅ ๋„๋ฉ”์ธ ๋ชจ๋ธ๊ณผ ํ…Œ์ด๋ธ” ์„ค๊ณ„ ํšŒ์›, ์ฃผ๋ฌธ, ์ƒํ’ˆ์˜ ๊ด€๊ณ„ : ํšŒ์›์€ ์—ฌ๋Ÿฌ ์ƒํ’ˆ ์ฃผ๋ฌธ ๊ฐ€๋Šฅ (์ฃผ๋ฌธ ↔๏ธ ์ƒํ’ˆ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„) ํ•˜์ง€๋งŒ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—”ํ‹ฐํ‹ฐ์—์„œ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ฃผ๋ฌธ ์ƒํ’ˆ์ด๋ผ๋Š” ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ ๊ด€๊ณ„๋กœ ํ’€์–ด๋‚ธ๋‹ค. ์ƒํ’ˆ ๋ถ„๋ฅ˜ : ๋„์„œ, ์Œ๋ฐ˜, ์˜ํ™”๋Š” ์ƒํ’ˆ์ด๋ผ๋Š” ๊ณตํ†ต ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒ์† ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ํšŒ์›(Member): ์ด๋ฆ„๊ณผ ์ž„๋ฒ ๋””๋“œ ํƒ€์ž…์ธ ์ฃผ์†Œ(Address), ๊ทธ๋ฆฌ๊ณ  ์ฃผ๋ฌธ(orders) ๋ฆฌ์ŠคํŠธ.. 2023. 7. 23.