๐Ÿ˜[Java] JDBC ์—ฐ๋™ ๋ฐ ์‡ผํ•‘๋ชฐ ๊ตฌํ˜„ ํ…Œ์ŠคํŠธ

Chobbyยท2023๋…„ 2์›” 23์ผ
1

Jsp

์ด ์ •๋ฆฌ PPT ๋ณด๊ธฐ

๐Ÿ˜์•Œ๊ฒŒ๋œ ์ 

  • ์ค‘๊ธ‰ Part1
    • JSP์—์„œ ๋งํ•˜๋Š” beans ๋Š” ์ž๋ฐ” ๊ธฐ์ค€์—์„œ์˜ ํด๋ž˜์Šค ์ด๋‹ค.
    • jsp:getProperty, jsp:setProperty ๋Š” ์ž๋ฐ”์˜ getter, setter์™€ ๋™์ผํ•˜๋‹ค.
    • jsp:setProperty์˜ property ์†์„ฑ์— * ๋ฅผ ์„ ์–ธํ•˜๋ฉด, ์ง€์—ญ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ์ค‘๊ธ‰ Part2
    • MySQL์„ ํ™œ์šฉํ•œ CREATE, DELETE, UPDATE, ALTER์— ๋Œ€ํ•ด ํ•™์Šต
  • ์ค‘๊ธ‰ Part3
    • Class.forName์˜ ์—ญํ•  - Driver ๊ฐ์ฒด ์ƒ์„ฑ
    • Statement๋Œ€์‹  PreparedStatement์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
      • Statement
        • ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ ์ฟผ๋ฆฌ๋ฌธ์˜ ํ˜•ํƒœ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์–ด ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค.
          • OR 1=1๊ณผ ๊ฐ™์€ ๊ฐ’์ด ์ „๋‹ฌ๋œ๋‹ค๋ฉด, ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๊ฐ€ ๋…ธ์ถœ๋จ
        1. ์ฟผ๋ฆฌ ๋ฌธ์žฅ ๋ถ„์„
        2. ์ปดํŒŒ์ผ
        3. ์‹คํ–‰
        • ์œ„ ์„ธ ๋‹จ๊ณ„๋ฅผ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ๊ฑฐ์น˜๋ฉฐ DB์— ๋ถ€ํ•˜๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค.
        • ResultSet์— ํ• ๋‹น๋œ ๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ Statement๊ฐ€ close() ๋˜๋ฉด ResultSet ๋˜ํ•œ ๊ฐ’์„ ์žƒ๋Š”๋‹ค.
      • PreparedStatement
        • ์‚ฌ์ „์— ์ •์˜๋œ ์ฟผ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉฐ ?๋ถ€๋ถ„์—๋งŒ ๋ณ€ํ™”๋ฅผ ์ฃผ์–ด ์ฟผ๋ฆฌ๋ฌธ์˜ ํ˜•ํƒœ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค.
        • ์ •์˜๋œ ๋ถ„์„, ์ปดํŒŒ์ผ, ์‹คํ–‰์˜ ๋‹จ๊ณ„๋ฅผ ์„ ์–ธ๋  ๋•Œ๋งŒ ๊ฑฐ์นœ ํ›„ ์บ์‹œ์— ๋‹ด์•„ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ƒ ์šฉ์ดํ•˜๋‹ค.
        • ResultSet์— ๊ฐ’์„ ํ• ๋‹นํ–ˆ์„ ๋•Œ, PreparedStatement๊ฐ€ close() ๋˜๋”๋ผ๋„ ResultSet์€ ๊ฐ’์„ ์œ ์ง€ํ•œ๋‹ค.
  • ์ค‘๊ธ‰ Part4
    • ์ปค๋„ฅ์…˜ ํ’€ (DBCP)
      • XMLํ˜•ํƒœ์˜ Resource ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋†“๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•„์š”๋กœ ํ•  ๋•Œ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฐœ๋…์ด๋ฉฐ, ์žฌํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜์—ฌ ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
      • Context {๋ณ€์ˆ˜} = new InitialContext() // context.xml์˜ ๊ฒฝ๋กœ๋ฅผ ์–ป๊ธฐ ์œ„ํ•จ
      • {๋ณ€์ˆ˜}.lookup() ์ต๋ช… ๊ฒฝ๋กœ์ธ "java:comp/env"์— ์ ‘๊ทผํ•˜๋ฉฐ context.xml์— Resourceํ•ญ๋ชฉ์— ์ง€์ •ํ•œ name์˜ ๊ฐ’์„ ์ง€์ •ํ•œ๋‹ค.
  • ์ค‘๊ธ‰ Part5
    • ์„œ๋ฒ„์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ํ•™์Šต
    • MultipartRequest
      • cos.jar
    • ์•„ํŒŒ์น˜ API
      • commons-fileupload.jar
        • ์ƒ๋Œ€์ ์œผ๋กœ ์‚ฌ์šฉ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋งŽ์ง€๋งŒ, ๋กœ๋”ฉ ํผ์„ผํ…Œ์ด์ง€ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ์ด ์ง€์›๋จ
      • commons-io.jar
        • ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ„ํŽธํ•˜๋‚˜, ํŒŒ์ผ ์—…๋กœ๋“œ์— ๊ด€ํ•œ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋จ
  • ์ค‘๊ธ‰ Part6
    • ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ฐ ์›์น˜ ์•Š๋Š” ๊ฐ’์˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
      • ๋ฐ์ดํ„ฐ ์œ ๋ฌด์˜ ๊ฒ€์‚ฌ
        • JS๋ฅผ ์‚ฌ์šฉํ•œ HTMLElement.target.value.length๋ฅผ ํ™œ์šฉํ•œ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰
      • ์›์น˜ ์•Š๋Š” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ๊ฒ€์‚ฌ
        • JS & ์ •๊ทœํ‘œํ˜„์‹์„ ํ™œ์šฉํ•œ HTMLElement.target.value๋ฅผ ํ™œ์šฉํ•œ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰
  • ์ค‘๊ธ‰ Part7
    • ๊ธฐ์กด์˜ ํ‘œํ˜„์‹ <%= ๋ณ€์ˆ˜๋ช… %> ๊ณผ${ ๋ณ€์ˆ˜๋ช… } ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ์˜ EL(Expression Language) ์˜ ์žฅ์  ๋ฐ ์‚ฌ์šฉ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉฐ ํ•™์Šต
    • JSTL์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  c:if, c:choose ๋“ฑ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ‚ค์— ๋Œ€ํ•ด ํ•™์Šต
  • ์ค‘๊ธ‰ Part8
    • ๋‹ค๊ตญ์–ด ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šต
      • ์ง€์—ญํ™”: ์‚ฌ์šฉ ๊ตญ๊ฐ€๋ณ„ ํ™˜๊ฒฝ์—์„œ ํŠน์ • ์ง€์—ญ์— ๋งž๊ฒŒ ์ ํ•ฉํ™” ํ•จ
      • ๊ตญ์ œํ™”: ์—ฌ๋Ÿฌ ๊ตญ๊ฐ€์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋‹ค๊ตญ์–ด ์ง€์›
        • ์ˆซ์ž, ๋‚ ์งœ, ์‹œ๊ฐ„
        • ํ™”ํ
    • java.util.Locale request.getLocale();
      • ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ €์— ์ •์˜๋œ ์–ธ์–ด๋‚˜ ๊ตญ๊ฐ€ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
    • fmt JSTL์— ๋Œ€ํ•ด ํ•™์Šต
  • ์ค‘๊ธ‰ Part9
    • ๋ณด์•ˆ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šต
      • ์„ ์–ธ์  ์‹œํ๋ฆฌํ‹ฐ
        • web.xmlํŒŒ์ผ์— ์—ญํ• ์„ ์„ ์–ธํ•˜์—ฌ ๋ณด์•ˆ์ฒ˜๋ฆฌ
        • ์„ ์–ธ๋œ role์˜ ์‚ฌ์šฉ์ž ์ธ์ฆ์œผ๋กœ ์›์น˜์•Š๋Š” ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šต
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ์‹œํ๋ฆฌํ‹ฐ
        • ์„ ์–ธ์  ์‹œํ๋ฆฌํ‹ฐ์˜ ๋ณด์•ˆ์ด ์ถฉ๋ถ„์น˜ ์•Š์„ ๋•Œ request๋‚ด์žฅ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ
  • ์ค‘๊ธ‰ Part10
    • ํ•„ํ„ฐ(filter)์— ๋Œ€ํ•ด ํ•™์Šต
      • ๋ฐ์ดํ„ฐ์˜ ํ•„์š” ๋ถ€๋ถ„๋งŒ์„ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
      • ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•„ํ„ฐ๊ฐ€ ๋ชจ์—ฌ ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ์„ ํ˜•์„ฑํ•˜๋Š” ๊ฒƒ์„ ํ•„ํ„ฐ ์ฒด์ธ์ด๋ผ๊ณ  ํ•œ๋‹ค.

Jsp ๊ธฐ์ดˆ์—์„œ ์‹ค๋ฌด๊นŒ์ง€ ์™„์ „์ •๋ณต ํ•˜๊ธฐ ๊ณ ๊ธ‰ Part1 - Part4

  • ๊ณ ๊ธ‰ Part1
    • RequestDispatcher๋ฅผ ํ†ตํ•œ ์š”์ฒญ ์œ„์ž„
      • response.sendRedirect๋กœ ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ, request๊ฐ์ฒด๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ์˜ ์ด์ „์ด ๋ถˆ๊ฐ€๋Šฅํ•จ
    • ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๋•Œ ์ž‘์—…์„ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ๋‹ด๋‹น ์„œ๋ธ”๋ฆฟ์„ ๋ถ„์‚ฐ์‹œ์ผœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š”๊ฒƒ์„ CommandํŒจํ„ด์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ๊ณ ๊ธ‰ Part2
    • DataBase(DB)์—ฐ๋™์„ ํ†ตํ•ด ์‡ผํ•‘๋ชฐ ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœ, ์ €์žฅํ•จ
  • ๊ณ ๊ธ‰ Part3
    • ํšŒ์›๊ฐ€์ž…์„ ๊ตฌํ˜„ํ•˜๊ณ  DataBase(DB)๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•จ
  • ๊ณ ๊ธ‰ Part4
    • MVCํŒจํ„ด์ด ๋ฌด์—‡์ธ์ง€ ํ•™์Šตํ•˜๊ณ , ํŒจํ„ด์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๊ฒŒ์‹œํŒ ๊ตฌํ˜„
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€