๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

    0413 JSP JDBC DBCP ๋กœ๊ทธ์ธ ํ๋ฆ„

    *JDBC - DB์ž‘์—…์ด ํ•„์š”ํ•œ ๋•Œ์—๋งŒ DB์™€ ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—… ๋ฐฉ์‹ - ์„œ๋ฒ„์˜ ์ž์›(๋ฉ”๋ชจ๋ฆฌ,cpu)์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Œ ์ž‘์—…์ˆœ์„œ > ์–ด๋””์—์„œ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋งŽ์ด ์†Œ์š”๋ ๊นŒ? 1. ๋“œ๋ผ์ด๋ฒ„ ๋กœ๋”ฉ 2. ์ปค๋„ฅ์…˜ ์–ป๊ธฐ ๋„คํŠธ์›Œํฌ์—์„œ DB์„œ๋ฒ„๋ฅผ ์ฐพ์•„๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋จ / ์‹ฌ์ง€์–ด ๊ฐ”๋Š”๋ฐ ์—†์„ ์ˆ˜๋„ ์žˆ์Œ ์ดˆ๊ธฐ์ง€์—ฐ์‹œ๊ฐ„ ๋ฐœ์ƒ(-๋‹จ์ ) //์‚ฌ์šฉ์ž๋Š” ์ด์ „ ๊ณผ์ •์ด ํ•„์š” ์—†์Œ //์‚ฌ์šฉ์ž๋Š” ๊ฐ’์„ ๋„ฃ์–ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋งŒ ๋ฐ›์œผ๋ฉด ๋จ 3. ์ฟผ๋ฆฌ๋ฌธ ์ƒ์„ฑ๊ฐ์ฒด ์–ป๊ธฐ 4. ์ฟผ๋ฆฌ๋ฌธ ์ƒ์„ฑ ํ›„ ์‹คํ–‰ (๋ฐ”์ธ๋“œ๋ณ€์ˆ˜ ๋„ฃ์€ ํ›„ ์‹คํ–‰) > ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋งŽ์œผ๋ฉด ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋จ 5. ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ 6. ์—ฐ๊ฒฐ ๋Š๊ธฐ (ํž˜๋“ค๊ฒŒ ์–ป์€ Connection์˜ ์žฌ์‚ฌ์šฉ์ด ์•ˆ๋จ-๋‹จ์ ) JDBC๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š” ์—†๋Š” ์ž‘์—…์„ ๋ˆ„๋ฝ ์—†์ด ๋ชจ๋‘ ํ•ด์•ผํ•จ ์ดˆ๊ธฐ์ง€์—ฐ์‹œ๊ฐ„ ๋ฐœ์ƒํ•˜๊ณ , C..

    JDBC executeUpdate์™€ executeQuery์˜ ๋ฐ˜ํ™˜๊ฐ’ Resultset preparedStatement

    insert, update, delete: executeUpdate() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜ ๊ฐ’์€ int ํ˜•์‹์œผ๋กœ, ์˜ํ–ฅ ๋ฐ›์€ row์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฆ‰, ๋ช‡ ๊ฐœ์˜ row๊ฐ€ ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€, ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€ ๋“ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. select: executeQuery() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜ ๊ฐ’์€ ResultSet ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ResultSet์€ DB์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ResultSet ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฑฐ๋‚˜, ํŠน์ • ํ–‰์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜, ํŠน์ • ์ปฌ๋Ÿผ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ, ResultSet ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์œผ๋ฉฐ, null์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. String sql = "SELEC..

    ์ฒดํฌ๋ฐ•์Šค์™€ getParameterValues

    HTML ํผ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์ถœํ•œ ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•œ ๋ฒˆ์— ๊ฐ€์ ธ์™€์•ผ ํ•  ๋•Œ, request.getParameterValues() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” ์ด๋ฆ„์ด ์ง€์ •๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ String ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. HTML ํผ์—์„œ name ์†์„ฑ์ด "fruits"๋กœ ์„ค์ •๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด, request.getParameterValues("fruits")๋Š” ์„ ํƒ๋œ ๋ชจ๋“  ์ฒดํฌ๋ฐ•์Šค์˜ ๊ฐ’์„ String ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ฒดํฌ๋œ ์ฒดํฌ๋ฐ•์Šค์˜ value๋งŒ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ํ•ด๋‹น ์ฒดํฌ๋ฐ•์Šค์˜ name ์†์„ฑ ๊ฐ’์„ getParameterValues() ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•˜์—ฌ ํ•ด๋‹น ์ฒดํฌ๋ฐ•์Šค์˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ๋˜์ง€ ์•Š์€ ์ฒดํฌ๋ฐ•์Šค์˜ ๊ฐ’์€ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์„ ํƒ์ด ํ•˜๋‚˜..

    ๋ณดํ†ต ์ค‘๋ณต๋˜๋Š” name ์†์„ฑ์„ ๊ฐ€์ง€๋Š” HTML ํผ ์ปจํŠธ๋กค๋“ค

    HTML ํผ ์ปจํŠธ๋กค์˜ name ์†์„ฑ์€ ํ•ด๋‹น ์ž…๋ ฅ ํ•„๋“œ๊ฐ€ ์ œ์ถœ๋  ๋•Œ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต ์ค‘๋ณต๋˜๋Š” name ์†์„ฑ์„ ๊ฐ€์ง€๋Š” HTML ํผ ์ปจํŠธ๋กค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ๋ผ๋””์˜ค ๋ฒ„ํŠผ (Radio buttons) ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์ธ ๋ผ๋””์˜ค ๋ฒ„ํŠผ์€ ๊ฐ™์€ name ์†์„ฑ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์ฒดํฌ๋ฐ•์Šค (Checkboxes) ํ•˜๋‚˜ ์ด์ƒ์˜ ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ๊ฐ™์€ name ์†์„ฑ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ ์ƒ์ž (Select box) ์„ ํƒ ์ƒ์ž๋Š” ํ•˜๋‚˜์˜ name ์†์„ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํžˆ๋“  ํ•„๋“œ (Hidden fields) ํžˆ๋“  ํ•„๋“œ๋Š” ๋™์ผํ•œ name ์†์„ฑ์„ ๊ณต์œ ํ•˜์—ฌ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์—…๋กœ๋“œ ํ•„๋“œ (File upload fields) ํŒŒ์ผ ์—…๋กœ๋“œ ํ•„๋“œ๋Š” ๊ฐ™์€ name ์†์„ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„ํŠผ (Buttons..

    ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

    ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋ชจ๋‘ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ฐจ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด(Scripting language)๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ์ž๋™ํ™”ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋™์ž‘ํ•˜๋„๋กํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ํ•œ ์ค„์”ฉ ์‹คํ–‰๋˜๋ฉฐ, ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ž‘์„ฑํ•˜๊ธฐ ์‰ฌ์šด ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ฃผ๋กœ ์›น ๊ฐœ๋ฐœ, ๋„คํŠธ์›Œํฌ ์ž๋™ํ™”, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋“ฑ ๊ฐ„๋‹จํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Programming language)๋Š” ๋ณด๋‹ค ๋ณต์žกํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ๋˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€..

    0411 0412 JSP JSTL core ์ œ์–ด๋ฌธ(if, choose, when,otherwise) ๋ฐ˜๋ณต๋ฌธ(forEach, forTokens)

    *JSTL(Jsp Standard Tag Library) - Java๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋‚˜ ๋‹จ์ฒด์—์„œ ๋งŒ๋“  ์•ก์…˜ํƒœ๊ทธ - tag library(์™ธ๋ถ€์—์„œ ๋งŒ๋“  ๊ฒƒ) - ํ‘œ์ค€์•ก์…˜ํƒœ๊ทธ์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ค์–ด ์ œ๊ณต - TagLib๋ผ๊ณ  ํ•จ - ๋ฐฐํฌ๋Š” .jar๋กœ ๋˜๊ณ , Web Application์—์„œ ์‚ฌ์šฉํ• ๋ ค๋ฉด WEB-INF/lib ํด๋”์— ๋„ฃ์œผ๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅ -core, fmt, xml, jdbc ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณต ์‚ฌ์šฉ๋ฒ•) 1.์ง€์‹œ์ž ์„ ์–ธ) - ์™ธ๋ถ€ TagLib๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 2.์‚ฌ์šฉ) ๋‚ด์šฉ *core - ๋ณ€์ˆ˜ ์„ ์–ธ, ํ™”๋ฉด ์ถœ๋ ฅ, ์ œ์–ด๋ฌธ(์กฐ๊ฑด๋ฌธ,๋ฐ˜๋ณต๋ฌธ), import, redirect, exception ์ง€์› ์‚ฌ์šฉ๋ฒ•) 1. JSTL์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ง€์‹œ์ž ์„ ์–ธ) jsp/ ๋ฅผ ์ƒ๋žตํ•˜๋ฉด TagLib..

    ๊นƒํ—™ ์ปค๋ฐ‹ ๋จธ์ง€ ์ฐธ๊ณ 

    ๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•œ ๊ฑฐ๋ฅผ ๋ฉ”์ธ์— ๋จธ์ง€์‹œํ‚จ ๋’ค COMMITํ•˜๊ณ , ๋‚จ์ด ๊ฐœ๋ฐœํ•œ๊ฑฐ๋Š” ๋ฉ”์ธ์—์„œ PULLํ•œ ๋’ค ๋‚˜ํ•œํ…Œ ๋จธ์ง€์‹œํ‚ค๊ธฐ ๊ฐœ๋ฐœ ์™„๋ฃŒํ•œ ์‚ฌ๋žŒ main ๊ฐ€์„œ ๋‚ด ๋ธŒ๋žœ์น˜๋ฅผ main/๋งˆ์Šคํ„ฐ๋กœ ๋จธ์ง€(ํด๋ฆญ๋œ ๊ฒŒ ๋จธ์ง€๋จ) > ๋ฉ”์ธ์—์„œ ADD TO INDEX๋กœ ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ฆฌ๊ณ  ์ปค๋ฐ‹ & ํ‘ธ์‹œ ํ›„ ์นดํ†ก์œผ๋กœ ์—ฐ๋ฝํ•˜๊ธฐ (๊นƒํ—™์˜ฌ๋ผ๊ฐ) ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค main ๊ฐ€์„œ pull > ๋‚ด ๋ธŒ๋žœ์น˜์— ์™€์„œ ๋ฉ”์ธ์„ ๋‚ด ๋ธŒ๋žœ์น˜๋กœ ๋จธ์ง€์‹œํ‚ค์ž

    expression๊ณผ EL / ํ‘œํ˜„์‹๊ณผ ํ‘œํ˜„์–ธ์–ด

    EL์ด ๋ญ์•ผ? JSP(Java Server Pages)์—์„œ "EL"์€ "Expression Language"์˜ ์•ฝ์–ด์ž…๋‹ˆ๋‹ค. EL์€ JSP์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. EL์„ ์‚ฌ์šฉํ•˜๋ฉด JSP ํŽ˜์ด์ง€์—์„œ Java ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ณ  ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EL์€ ${} ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ${user.name}์€ "user" ๊ฐ์ฒด์˜ "name" ์†์„ฑ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋ฅผ JSP ํŽ˜์ด์ง€์— ์‚ฝ์ž…ํ•˜๋ฉด ํ•ด๋‹น ์†์„ฑ ๊ฐ’์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. EL์€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—ฐ์‚ฐ, ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ EL์„ ์‚ฌ์šฉํ•˜์—ฌ JSP ํŽ˜์ด์ง€์—์„œ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. expressi..