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

devcourse47

[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 46์ผ์ฐจ ์˜ค๋Š˜์€ Spring JDBC์™€ ์„ค์ • ํŒŒ์ผ์„ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™์„ ์ค‘์‹ฌ์œผ๋กœ ํ•™์Šตํ•˜๊ณ , MySQL๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ์‹ค์Šต๋„ ํ•จ๊ป˜ ์ง„ํ–‰ํ•ด๋ณด์•˜๋‹ค.Spring์˜ ์„ค์ • ๋ฐฉ์‹์ด ์ ์  ์ต์ˆ™ํ•ด์ง€๊ณ , ์‹ค์ œ ์„œ๋น„์Šค์—์„œ ์–ด๋–ค ์‹์œผ๋กœ DB๋ฅผ ์—ฐ๋™ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”์ง€ ๊ฐ์„ ์žก์„ ์ˆ˜ ์žˆ์—ˆ๋˜ ์ˆ˜์—…์ด์˜€๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท Java ๊ธฐ๋ฐ˜ ์„ค์ •๊ณผ Properties ํ™œ์šฉXML์ด ์•„๋‹Œ ์ž๋ฐ” ํด๋ž˜์Šค(@Configuration, @Bean)๋กœ ์„ค์ •์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹๊ณผ, @Value๋ฅผ ํ™œ์šฉํ•ด jdbc.properties ํŒŒ์ผ์—์„œ DB ์ ‘์† ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ–ˆ๋‹ค.ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์„ค์ •์„ ๋ถ„๋ฆฌํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์‹ค๋ฌด์—์„œ ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฑธ ๋А๊ผˆ๋‹ค. ๐Ÿ”ถ Spring JDBC์™€ JdbcTemplate ์‚ฌ์šฉJdbcTemplate.. 2025. 6. 13.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 44์ผ์ฐจ ์˜ค๋Š˜์€ ์›น ๊ฐœ๋ฐœ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ MVC(Model2) ๋ฐฉ์‹์„ ์‹ฌํ™” ํ•™์Šตํ•˜๋ฉฐ,์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํฐ ๊ทธ๋ฆผ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.Servlet๊ณผ JSP์˜ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•ด ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ๋ชจ๋“ˆํ™”๋ฅผ ๋†’์ด๋Š” MVC ๊ตฌ์กฐ๋ฅผ ์˜ˆ์ œ ์ฝ”๋“œ๋กœ ์ง์ ‘ ์‹ค์Šตํ•ด ๋ณด๋ฉด์„œ,์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๋ชธ์œผ๋กœ ์ตํž ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ ์•ž์œผ๋กœ ๋ฐฐ์šธ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ ‘ํ•ด๋ณด๋ฉฐ, ์•ž์œผ๋กœ ๋ฐฐ์šธ ๋‚ด์šฉ์ด ๊ธฐ๋Œ€๋˜๋Š” ์ˆ˜์—…์ด์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท MVC(Model2) ๊ตฌ์กฐ์™€ ๊ตฌํ˜„ ํ๋ฆ„Controller(Servlet)๋Š” ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ์ ์ ˆํ•œ Model์„ ํ˜ธ์ถœํ•˜๊ณ , View(JSP)๋Š” Model์—์„œ ์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ์กฐ๋กœ์›น ๊ฐœ๋ฐœ์—์„œ ํšจ์œจ์ ์ธ ํ˜‘์—…๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค๋Š” ๊ฑธ ๋ฐฐ์› ๋‹ค. Contro.. 2025. 6. 10.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 43์ผ์ฐจ ์˜ค๋Š˜์€ JSP์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋‚ด์žฅ ๊ฐ์ฒด์™€ ์•ก์…˜ํƒœ๊ทธ, ๊ทธ๋ฆฌ๊ณ  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐ์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ MVC(Model2) ๊ฐœ๋…๊นŒ์ง€ ๋ฐฐ์šฐ๋ฉฐ, ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ•œ์ธต ๋” ๋‹ค์งˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.ํŠนํžˆ ์‹ค์ œ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•ด ๋ณด๋ฉด์„œ ๊ฐ ๊ฐœ๋…์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์กฐ๊ธˆ์”ฉ ์ดํ•ด๊ฐ€ ๋˜์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท ๋‚ด์žฅ ๊ฐ์ฒด (request, response, out, session, application)JSP์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅ ๊ฐ์ฒด๋“ค์˜ ํŠน์ง•๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ํ•™์Šตํ–ˆ๋‹ค.request ๊ฐ์ฒด๋กœ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , response ๊ฐ์ฒด๋กœ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์—ฐ์Šตํ–ˆ๋‹ค. ๋˜ํ•œ out ๊ฐ์ฒด๋กœ HTML ์ถœ๋ ฅ์„ ๋‹ด๋‹นํ•˜๊ณ , session ๊ฐ์ฒด๋กœ ์‚ฌ์šฉ์ž๋ณ„ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ, appl.. 2025. 6. 10.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 42์ผ์ฐจ ์˜ค๋Š˜์€ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋” ๊นŠ๊ฒŒ ๋ฐฐ์šฐ๋ฉด์„œServlet์˜ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ๊ณผ์ •, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™, ๊ทธ๋ฆฌ๊ณ  JSP์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๊นŒ์ง€ ํญ๋„“๊ฒŒ ํ•™์Šตํ–ˆ๋‹ค.ํŠนํžˆ JSP๋Š” ์ด๋ฆ„๋งŒ ๋“ค์–ด๋ดค๋˜ ๊ฐœ๋…์ด์—ˆ๋Š”๋ฐ, ์˜ค๋Š˜ ์ˆ˜์—…์„ ํ†ตํ•ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์กฐ๊ธˆ์”ฉ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท Servlet ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ๊ณผ์ •์„œ๋ธ”๋ฆฟ์ด ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค์‹œ ์‚ดํŽด๋ดค๋‹ค.์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” HttpServletRequest ๊ฐ์ฒด๋กœ ๋ฐ›๊ณ ,์‘๋‹ต์€ HttpServletResponse ๊ฐ์ฒด๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ setContentType()์œผ๋กœ MIME ํƒ€์ž…์„ ์ง€์ •ํ•˜๊ณ  ์ž๋ฐ” I/O๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ๋ฆ„์„ ์‹ค์Šตํ–ˆ๋‹ค.๋˜ํ•œ GET ๋ฐฉ์‹๊ณผ POST ๋ฐฉ์‹์˜ ์ฐจ์ด๋ฅผ ๋‹ค์‹œ ๋ณต์Šตํ•˜๋ฉฐ,ํผ ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ name, method, a.. 2025. 6. 10.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 41์ผ์ฐจ ์˜ค๋Š˜์€ ์„œ๋ธ”๋ฆฟ์˜ ๊ธฐ์ดˆ ๊ฐœ๋…์„ ๋ฐฐ์šฐ๊ณ , ์‹ค์ œ๋กœ ์˜ค๋ผํด ์„œ๋ฒ„์™€ ์—ฐ๋™ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐํ•ด ๋ณด๋Š” ํ…Œ์ŠคํŠธ๊นŒ์ง€ ์ง„ํ–‰ํ•ด ๋ณด์•˜๋‹ค. ๊ทธ๋™์•ˆ ๊ฐœ๋…์œผ๋กœ๋งŒ ์•Œ๊ณ  ์žˆ๋˜ ์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์—ฐ๊ฒฐ ๋ฐฉ์‹์„ ์ง์ ‘ ์‹ค์Šตํ•ด ๋ณด๋ฉด์„œ ํ•œ์ธต ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท ์„œ๋ธ”๋ฆฟ ๊ธฐ์ดˆ์„œ๋ธ”๋ฆฟ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด HttpServlet์„ ์ƒ์†๋ฐ›๊ณ , doGet()์ด๋‚˜ doPost() ๋ฉ”์„œ๋“œ๋ฅผ ๋ฐ˜๋“œ์‹œ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๋ฐฐ์› ๋‹ค.์„œ๋ธ”๋ฆฟ ๋งคํ•‘์„ ์œ„ํ•ด web.xml ํŒŒ์ผ์— , ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด URL ํŒจํ„ด์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํ•จ๊ป˜ ์ตํ˜”๋‹ค. ๐Ÿ”ถ ์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ์™€ GET/POST ๋ฐฉ์‹์„œ๋ธ”๋ฆฟ์—์„œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ๋ฆ„์„ ํ•™์Šตํ–ˆ๋‹ค. ํŠนํžˆ getParameter(), getParam.. 2025. 6. 4.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 39์ผ์ฐจ ์˜ค๋Š˜์€ ์›น ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ ๊ฐœ๋…๊ณผ ์ž๋ฐ”์˜ ๊ด€๊ณ„๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ ์›น์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ „๋ฐ˜์ ์ธ ํ๋ฆ„์„ ์ •๋ฆฌํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ๊ด€๊ณ„, ์›น ์„œ๋ฒ„์™€ WAS์˜ ์ฐจ์ด, HTTP ํ”„๋กœํ† ์ฝœ์˜ ๊ตฌ์กฐ๊นŒ์ง€ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ค‘์š”ํ•œ ๊ธฐ์ดˆ๋“ค์„ ํ•œ๊บผ๋ฒˆ์— ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท ์›น๊ณผ ์ž๋ฐ”์˜ ๊ด€๊ณ„์›น ํ™˜๊ฒฝ์—์„œ ์ž๋ฐ”๋Š” ์„œ๋ฒ„์‚ฌ์ด๋“œ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ,Servlet๊ณผ JSP๋ฅผ ํ†ตํ•ด ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์› ๋‹ค. ๐Ÿ”ถ ์›น ์„œ๋ฒ„์™€ WAS์›น ์„œ๋ฒ„๋Š” ์ •์  ํŒŒ์ผ(HTML, ์ด๋ฏธ์ง€ ๋“ฑ)์„ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ํ•˜๊ณ , WAS(Web Application Server)๋Š” ๋™์ ์ธ ๋กœ์ง(๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง)์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ Servlet/JSP ์ปจํ…Œ์ด๋„ˆ๋กœ์„œ์˜ ์—ญํ• ์„ ํ•œ๋‹ค๋Š” ์ ์ด ํฅ๋ฏธ๋กœ์› .. 2025. 6. 2.
๋ฐ˜์‘ํ˜•