๐Ÿ ๊ตญ๋น„์ง€์›ํ•™์›/๐Ÿ“–JSP ์ˆ˜์—…

    [JSP] ํ•™์› 230414(๊ธˆ) ์•”ํ˜ธํ™”, ๋ณตํ˜ธํ™”

    * ์ €์žฅ์ •๋ณด์˜ ์ค‘์š”๋„ DBMS ์ €์žฅ๋˜๋Š” ์ •๋ณด๊ฐ€ ์ผ๋ฐ˜๋ฌธ์ž์—ด(plain text)์ธ ๊ฒฝ์šฐ ๋‹จ์ˆœ ์กฐํšŒ๋กœ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ํ™•์ธ ๊ฐ€๋Šฅ. => ์ •๋ณด๋ณดํ˜ธ ์•ˆ๋จ. -์‚ฌ์ดํŠธ์˜ ๊ด€๋ฆฌ์ž/๊ด€๊ณ„์ž๋Š” ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. -๋ฐ์ดํ„ฐ ํƒˆ์ทจ ์‹œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์†์‰ฝ๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅ. ์ €์žฅ๋˜๋Š” ์ •๋ณด์˜ ์ค‘์š”๋„ ๋”ฐ๋ผ ์•”ํ˜ธํ™” ์ž‘์—…์„ ํ•ด์•ผ ํ•œ๋‹ค. => ์ •๋ณด๋ณดํ˜ธ ์ˆ˜ํ–‰ ( ๋น„์šฉ๊ณผ ๊ด€๋ จ ) - ์•„๋ฌด๋„ ํ™•์ธํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๋งŒ๋“ค ๋•Œ => ์ผ๋ฐฉํ–ฅ ํ•ด์‹œ(SHA)๋กœ ์ €์žฅ PASS, ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ - ๊ด€๋ฆฌ์ž๋“ฑ๊ธ‰์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•  ๋•Œ => ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ ์•”ํ˜ธํ™” id, phone, name, email -์ผ๋ฐ˜๋ฌธ์ž์—ด - birth, tel_flag, email_flag, gender, zipcode,addr1,addr2 test (์ผ๋ฐ˜๋ฌธ์ž์—ด..

    [JSP] ํ•™์› 230413(๋ชฉ) Tomcat์˜ DBCP์‚ฌ์šฉ ์ˆœ์„œ

    * Tomcat์˜ DBCP์‚ฌ์šฉ ์ˆœ์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ •. 1. DBMS์—์„œ ๋ฐฐํฌ๋œ driver๋ฅผ Tomcat ์„ค์น˜( CATALINA_HOME ์„ค์น˜ ). 2. DBCP๊ฐ€ ํ•„์š”ํ•œ Project์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด server.xml์„ ์ˆ˜์ • node์— ์ž์‹ node๋กœ node๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ํŽธ์ง‘. ์ฝ”๋“œ์ž‘์„ฑ ์ˆœ์„œ. 1. JNDI ์‚ฌ์šฉ๊ฐ์ฒด ์ƒ์„ฑ 2. ์„ค์ •๋œ DBCP์—์„œ DataSouce ์–ป๊ธฐ 3. DataSource ์—์„œ Connection ์–ป๊ธฐ 4. ์ฟผ๋ฆฌ๋ฌธ ์ƒ์„ฑ๊ฐ์ฒด ์–ป๊ธฐ 5. ์ฟผ๋ฆฌ๋ฌธ ์ˆ˜ํ–‰ ํ›„ ๊ฒฐ๊ณผ ์–ป๊ธฐ 6. ์—ฐ๊ฒฐ ๋Š๊ธฐ

    [JSP] ํ•™์› 230412(์ˆ˜) forEach, forTokens, DBCP

    * ๋ฐ˜๋ณต๋ฌธ -forEach ,forTokens -forEach : ์ธ๋ฑ์Šค๋ฅผ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, ๋ฐฐ์—ด,java.util.List๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ. ์ธ๋ฑ์Šค์ถœ๋ ฅ) ${ ๋ณ€์ˆ˜๋ช… } //์‹œ์ž‘ ๊ฐ’์—์„œ ๋ ๊ฐ’๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฐ’์„ ์ถœ๋ ฅ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ์—ด, java.util.List ์ถœ๋ ฅ) ${๋ณ€์ˆ˜๋ช…} var="๋ณ€์ˆ˜๋ช…" //์ž…๋ ฅ๋œ items์— ๋ฐ˜๋ณต๋˜๋Š” ๋ฐฉ์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ์œ„ํ•œ ๋ณ€์ˆ˜ varStatus="์ฆ๊ฐ€ํ•˜๋Š” ๊ฐ’์„ ์ €์žฅํ• ๋ณ€์ˆ˜" ์ด๋ฆ„.index => 0๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ์ธ๋ฑ์Šค ์ด๋ฆ„.count => 1๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ์ธ๋ฑ์Šค ์ด๋ฆ„.first => ์ฒ˜์Œ ๋ฐฉ์˜ ์ธ์ง€ //boolean ์ด๋ฆ„.list => ๋งˆ์ง€๋ง‰ ๋ฒˆ์งธ ๋ฐฉ์ธ์ง€. //boolean * VO์ถœ๋ ฅ - EL์—์„œ๋Š” getter method๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ get์„ ์ œ์™ธํ•œ method๋ช…์„ ..

    [JSP] ํ•™์› 230411(ํ™”) JSTL, core, choose

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

    [JSP] ํ•™์› 230410(์›”) EL(Expression Language)

    * useBean action tag์˜ scope์†์„ฑ - scriptlet์—์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  scope๊ฐ์ฒด์— ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์•ก์…˜ํƒœ๊ทธ์—์„œ๋Š” ํ•œ๋ฒˆ์— ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค. scope๊ฐ์ฒด - pageContext, request, session, application Scope๊ฐ์ฒด์˜ ํŠน์ง• page : JSP๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค VO๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , VO๊ฐ€ ํ•ด๋‹น JSP์—์„œ๋งŒ ์‚ฌ์šฉ๋œ๋‹ค. request : JSP๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค VO๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , VO๊ฐ€ forward๋กœ ์ด๋™ํ•œ ํŽ˜์ด์ง€์—์„œ๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. session : ์›น ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ํ•˜๋‚˜์˜ VO๊ฐ€ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ์ƒ์„ฑ๋œ VO๊ฐ์ฒด๋Š” ๋ชจ๋“  JSP์—์„œ ์ ‘์†์ž๋ฅผ ์‹๋ณ„ํ•ด ๊ฐ€๋ฉด์„œ ์‚ฌ์šฉ๋œ๋‹ค. application : ์ตœ์ดˆ ์ ‘์†์ž์— ์˜ํ•ด ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋Š” ..

    [JSP] ํ•™์› 230407(๊ธˆ) ํ‘œ์ค€์•ก์…˜(<jsp:useBean>)

    * - VO๋ฅผ ๊ฐ์ฒด ์ƒ์„ฑํ•  ๋•Œ, Web Parameter๋ฅผ ๋ฐ›์„ ๋•Œ VO : ๊ฐ’์„ ์ €์žฅํ•˜๊ณ , ์ €์žฅ๋œ ๊ฐ’์„ ์ „๋‹ฌํ•  ๋ชฉ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ํด๋ž˜์Šค. ๊ฐ’์ด ํ•˜๋‚˜ ์ด์ƒ ์ผ๋•Œ๋งŒ ๋งŒ๋“ ๋‹ค. ์‚ฌ์šฉ๋ฒ•) VO์ƒ์„ฑ public class TestVO{ private String name; public TestVO(){ } public void setName(String name){ this.name=name; } public String getName(){ return name; } }//end class ์ƒ์„ฑ๋œ VO๋ฅผ JSP์‚ฌ์šฉ. ํ‘œ์ค€ ์•ก์…˜์„ ์‚ฌ์šฉํ•œ ๊ฐ์ฒด์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ usebean id์™€ name ๊ฐ™์•„์•ผํ•จ. //1.๊ฐ์ฒดํ™” : ํƒœ๊ทธ ์‚ฌ์šฉ //2. Setter ํ˜ธ์ถœ : //3. Getter ํ˜ธ์ถœ : * web parameter์ฒ˜๋ฆฌ..

    [JSP] ํ•™์› 230406(๋ชฉ) Cookie, ํ‘œ์ค€์•ก์…˜(<jsp:include>, <jsp:forward>)

    * Cookie -์ ‘์†์ž์˜ ์ •๋ณด๋ฅผ ์ ‘์†์ž HDD์˜ file์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹ -๋ฌธ์ž์—ด๋งŒ ์ €์žฅ๊ฐ€๋Šฅ -์ฟ ํ‚ค ์‹ฌ๊ธฐ 1.์ฟ ํ‚ค ์ƒ์„ฑ Cookie cookie=new Cookie(“์ด๋ฆ„”,”๊ฐ’”); 2.์ƒ์กด์‹œ๊ฐ„์„ค์ •( ์ƒ์กด์‹œ๊ฐ„์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ๋งŒ ์œ ์ง€) cookie.setMaxAge( ์ดˆ ); //์ดˆ*๋ถ„*์‹œ*์ผ*์›”*๋…„ 3. ์ฟ ํ‚ค์‹ฌ๊ธฐ ( ์ ‘์†์ž ์ปดํ“จํ„ฐ์— ํŒŒ์ผ ์ƒ์„ฑ ) response.addCookie( ์ฟ ํ‚ค๊ฐ์ฒด ); - ์ฟ ํ‚ค ์ฝ๊ธฐ 1. ์ฟ ํ‚ค๋“ค ์–ป๊ธฐ (JSESSIONID๋Š” ๊ธฐ๋ณธ์œผ๋กœ ์–ป์–ด์ง„๋‹ค.) Cookie[] cookies=request.getCookies(); Cookie c=null; for( int i=0; i< cookies.length ; i++){ c=cookies[i]; //2. ์ฟ ํ‚ค..

    [JSP] ํ•™์› 230404(ํ™”) ๊ด€๊ณ„์œ ์ง€, session, cookie

    * ๊ด€๊ณ„์œ ์ง€ - ์›น์€ ๋น„ ์—ฐ๊ฒฐ์„ฑ( ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๋ฉด ์‘๋‹ตํ•ด์ฃผ๊ณ  ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค.) ๋น„ ์—ฐ๊ฒฐ์„ฑ์˜ ์žฅ๋‹จ์  ์žฅ : ์ ‘์†์ž์˜ ์ˆ˜๊ฐ€ ๋งŽ์•„๋„ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ € ์‚ฌ์–‘์˜ ์ปดํ“จํ„ฐ๋กœ๋„ ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ : ์„œ๋ฒ„์—์„œ ๋ฐœ์ƒํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘์†์ž์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด๋‚ด์ค„ ์ˆ˜ ์—†๋‹ค. ( server push๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.) client pull๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.( ์ ‘์†์ž๊ฐ€ ์ง€์ •ํ•œ ์‹œ๊ฐ„์— ์žฌ ์š”์ฒญํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค.) - ์„œ๋ฒ„๋Š” ์ ‘์†์ž์˜ ์ƒํƒœ๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค. (์ ‘์†์ž๊ฐ€ ํ˜„์žฌ ๊ฐ€์ง„ ๊ฐ’์„ ์„œ๋ฒ„์—์„œ ์•Œ ์ˆ˜ ์—†๋‹ค.) - ์„œ๋ฒ„๊ฐ€ ์ ‘์†์ž์˜ ์ƒํƒœ(๊ฐ’)๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ  ๊ฐœ๋ฐœ. ์„ธ์…˜, ์ฟ ํ‚ค * ์„ธ์…˜ - ์ ‘์†์ž์˜ ์ •๋ณด๋ฅผ ์„œ๋ฒ„ ์ธก ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ  - ์ ‘์†์ž๊ฐ€ ์–ด๋–ค ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ..