๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ๏ธ DevLog/Devcourse

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

by hyebin (Helia) 2025. 6. 4.
๋ฐ˜์‘ํ˜•

์˜ค๋Š˜์€ ์„œ๋ธ”๋ฆฟ์˜ ๊ธฐ์ดˆ ๊ฐœ๋…์„ ๋ฐฐ์šฐ๊ณ , ์‹ค์ œ๋กœ ์˜ค๋ผํด ์„œ๋ฒ„์™€ ์—ฐ๋™ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐํ•ด ๋ณด๋Š” ํ…Œ์ŠคํŠธ๊นŒ์ง€ ์ง„ํ–‰ํ•ด ๋ณด์•˜๋‹ค.

 

๊ทธ๋™์•ˆ ๊ฐœ๋…์œผ๋กœ๋งŒ ์•Œ๊ณ  ์žˆ๋˜ ์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์—ฐ๊ฒฐ ๋ฐฉ์‹์„ ์ง์ ‘ ์‹ค์Šตํ•ด ๋ณด๋ฉด์„œ ํ•œ์ธต ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค.


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

๐Ÿ”ท ์„œ๋ธ”๋ฆฟ ๊ธฐ์ดˆ

์„œ๋ธ”๋ฆฟ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด HttpServlet์„ ์ƒ์†๋ฐ›๊ณ , doGet()์ด๋‚˜ doPost() ๋ฉ”์„œ๋“œ๋ฅผ ๋ฐ˜๋“œ์‹œ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๋ฐฐ์› ๋‹ค.

์„œ๋ธ”๋ฆฟ ๋งคํ•‘์„ ์œ„ํ•ด web.xml ํŒŒ์ผ์— <servlet>, <servlet-mapping> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด URL ํŒจํ„ด์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํ•จ๊ป˜ ์ตํ˜”๋‹ค.

 

๐Ÿ”ถ ์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ์™€ GET/POST ๋ฐฉ์‹

์„œ๋ธ”๋ฆฟ์—์„œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ๋ฆ„์„ ํ•™์Šตํ–ˆ๋‹ค.

 

ํŠนํžˆ getParameter(), getParameterValues() ๋“ฑ์„ ์‚ฌ์šฉํ•ด ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋Š” ๋ฐฉ์‹๊ณผ

setContentType()์œผ๋กœ MIME ํƒ€์ž…์„ ์„ค์ •ํ•˜๊ณ  PrintWriter๋ฅผ ํ†ตํ•ด HTML์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์ง์ ‘ ์‹ค์Šตํ•ด๋ดค๋‹ค.

GET ๋ฐฉ์‹๊ณผ POST ๋ฐฉ์‹์˜ ์ฐจ์ด์ (๋ฐ์ดํ„ฐ ๋…ธ์ถœ ์—ฌ๋ถ€, ๋ณด์•ˆ, ์†๋„)๋„ ๋‹ค์‹œ ์ •๋ฆฌํ–ˆ๋‹ค.

 

๐Ÿ”ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™

์˜ค๋Š˜์€ ์˜ค๋ผํด ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•ด์„œ ์‹ค์ œ DB ์—ฐ๋™ ํ…Œ์ŠคํŠธ๊นŒ์ง€ ์ง„ํ–‰ํ•ด ๋ดค๋‹ค.

 

DAO ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด DB์— ์ ‘์†ํ•˜๊ณ , ํšŒ์› ์ •๋ณด๋ฅผ ์กฐํšŒํ•ด VO์— ์„ธํŒ…ํ•œ ๋’ค ArrayList๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด ๋ณด๋ฉฐ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋ฐฐ์› ๋‹ค.

ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์˜ˆ์‹œ๋„ ํ•จ๊ป˜ ๋ณด๋ฉด์„œ JDBC๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ์—ฐ๋™ ๋ฐฉ์‹์„ ์—ฐ์Šตํ–ˆ๋‹ค.


๐Ÿงก ๋А๋‚€ ์ 

์˜ค๋Š˜์€ ๋‹จ์ˆœํžˆ ์„œ๋ธ”๋ฆฟ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ๊ทธ์น˜์ง€ ์•Š๊ณ , ์‹ค์ œ๋กœ ์˜ค๋ผํด ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•ด ๋ณด๋ฉด์„œ

์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”์ง€๋ฅผ ๋ชธ์œผ๋กœ ์ฒดํ—˜ํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์ฒ˜์Œ์—” DB ์—ฐ๋™ ๋ถ€๋ถ„์ด ๋ง‰๋ง‰ํ•˜๊ฒŒ ๋А๊ปด์กŒ๋Š”๋ฐ, DAO์™€ VO๋ฅผ ๋‚˜๋ˆ ์„œ ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ์งœ๋‹ค ๋ณด๋‹ˆ ๋ฐ์ดํ„ฐ ํ๋ฆ„์ด ์กฐ๊ธˆ์”ฉ ์ดํ•ด๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

 

ํŠนํžˆ web.xml ๋งคํ•‘๊ณผ ์„œ๋ธ”๋ฆฟ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๋‹ค์‹œ ์ •๋ฆฌํ•ด ๋ณด๋ฉด์„œ ์›น ์„œ๋ฒ„๊ฐ€ ์–ด๋–ป๊ฒŒ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.

์•„์ง ๋ฐฐ์šธ ๊ฒŒ ๋งŽ์ง€๋งŒ, ์˜ค๋Š˜์ฒ˜๋Ÿผ ๊ฐœ๋…๊ณผ ์‹ค์Šต์„ ๊ฐ™์ด ํ•˜๋ฉด์„œ ์›น ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ์กฐ๊ธˆ์”ฉ ์Œ“์•„๊ฐ€๋Š” ๊ธฐ๋ถ„์ด ๋“ค์–ด ๋ฟŒ๋“ฏํ•œ ํ•˜๋ฃจ์˜€๋‹ค.

๋ฐ˜์‘ํ˜•