8 ๋ถ„ ์†Œ์š”

2์žฅ ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ดˆ

2.1 ๊ตฌ์„ฑ ์š”์†Œ


  • HTML ๊ธฐ๋ณธ ๊ตฌ์กฐ
    • ๋ธŒ๋ผ์šฐ์ €๋Š” <!DOCTYPE>์„ ํ†ตํ•ด HTML ๋ฌธ์„œ๋กœ ์ธ์‹
    • ์‹œ์ž‘

      ๋

    • , ์š”์†Œ๋กœ ๊ตฌ์„ฑ
  • ์š”์†Œ(element)
    • ์‹œ์ž‘ํƒœ๊ทธ์™€ ์ข…๋ฃŒํƒœ๊ทธ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์„œ์˜ ๊ตฌ์„ฑ ์š”์†Œ
    • ์‹œ์ž‘ํƒœ๊ทธ + ์ฝ˜ํ…์ธ  + ์ข…๋ฃŒํƒœ๊ทธ
  • ์†์„ฑ : ํ•ญ์ƒ ์‹œ์ž‘ ํƒœ๊ทธ์— ์ด๋ฆ„ = โ€œ๊ฐ’โ€ ํ˜•ํƒœ๋กœ ๊ธฐ์ˆ ํ•˜์—ฌ ์š”์†Œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณต
    • <title color = "green"> ๋‚ด์šฉ </title>
  • <!DOCTYPE> ์„ ์–ธ
    • ์›น ํŽ˜์ด์ง€์— ์‚ฌ์šฉ๋œ HTML์˜ ์ข…๋ฃŒ์™€ ๋ฒ„์ „์„ ์ง€์ •

2.2 ๊ธฐ๋ณธ ํƒœ๊ทธ

  • ๊ธ€์žํƒœ๊ทธ
  • ๋ฆฌ์ŠคํŠธ ํƒœ๊ทธ
    • ๋ฒˆํ˜ธ ์žˆ/์—†๋Š” ๋ฆฌ์ŠคํŠธ : <ol> <ul>
    • ๋ชฉ๋ก ํ•ญ๋ชฉ ํƒœ๊ทธ : <li>
  • ํ•˜์ดํผ๋งํฌ ํƒœ๊ทธ (๋งํฌ ํƒœ๊ทธ)
    • <a> : ํ•˜์ดํผ๋งํฌ ์ •์˜
    • target ์†์„ฑ : ๊ฐ ๋งํฌ ํด๋ฆญ ์‹œ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€ ์–ด๋””์— ์—ด๋ฆฌ๋Š” ์ง€ ์ง€์ •
  • ์ด๋ฏธ์ง€ ํƒœ๊ทธ

  • ํ…Œ์ด๋ธ” ํƒœ๊ทธ

  • ์ธ๋ผ์ธ ํ”„๋ ˆ์ž„ (iframe) : ํ˜„์žฌ html ํŽ˜์ด์ง€ ๋‚ด ์˜์—ญ์— ๋‹ค๋ฅธ html ํŽ˜์ด์ง€๋ฅผ ์ถœ๋ ฅ

  • object, embed ํƒœ๊ทธ
    • iframe ํƒœ๊ทธ๋ฅผ ๋Œ€์ฒดํ•˜์—ฌ ๋น„๋””์˜ค, ์˜ค๋””์˜ค ๋“ฑ ์™ธ๋ถ€ ํŒŒ์ผ์„ ํฌํ•จํ•˜๋Š”๋ฐ ์ฃผ๋กœ ์‚ฌ์šฉ
    • ๋‹จ์ 
      • ๋Œ€์ฒด ์™ธ๋ถ€ ๋””์ž์ธ์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€ ๋””์ž์ธ์— ์˜ํ–ฅ
      • ์›น ๋ณด์•ˆ ์ •์ฑ…์œผ๋กœ ์ผ๋ถ€ ์›น ์‚ฌ์ดํŠธ๋Š” iframe ์ปจํ…์ธ  ์ฐจ๋‹จ
  • HTML ์š”์†Œ
    • ์ธ๋ผ์ธ ์š”์†Œ : ์š”์†Œ ํ‘œ์‹œ ํ›„ ์—๋„ ์ค„๋ฐ”๊ฟˆx
    • ๋ธ”๋ก ์š”์†Œ : ํ•œ ์ค„์„ ๋‹ค ์ฐจ์ง€
  • ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ : ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์š”์†Œ์˜ ์˜๋ฏธ๋‚˜ ๋ชฉ์ ์„ ์•Œ๋ ค์ฃผ๋Š” ์š”์†Œ

2.3 ์ž…๋ ฅ ์–‘์‹


  • ์ž…๋ ฅ ์–‘์‹ (form)
    • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ
    • name ์†์„ฑ : ํผ์˜ ์ด๋ฆ„์„ ์ง€์ •
    • action ์†์„ฑ : ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์›น ์„œ๋ฒ„ ์Šคํฌ๋ฆฝํŠธ์˜ ์ฃผ์†Œ ์ง€์ •
    • method ์†์„ฑ : ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์›น ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋Š” ํ˜•์‹
    • summit ๋ฒ„ํŠผ : ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋Š”๋ฐ ์‚ฌ์šฉ
    • reset ๋ฒ„ํŠผ : ์ž…๋ ฅ ํ•„๋“œ์— ์ž…๋ ฅํ•œ ๊ฐ’ ๋ชจ๋‘ ์ดˆ๊ธฐํ™”

    image

  • ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ์‹
    • HTTP GET
      • URL ์ฃผ์†Œ ๋’ค์— ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ถ™์—ฌ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹
      • ๊ธธ์ด ์ œํ•œ(2048)
      • ๋ณด์•ˆ ์œ ์ง€ x
    • HTTP POST
      • HTTP Request ํ—ค๋”์— ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ์‹œ์ผœ์„œ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹
      • ๊ธธ์ด ์ œํ•œ x
      • ๋ณด์•ˆ ์œ ์ง€

2.4 CSS ๊ฐœ์š”


  • CSS
    • ๋ฌธ์„œ์˜ ์Šคํƒ€์ผ (์ƒ‰์ƒ, ๊ธ€๊ผด ๋“ฑ) ์ง€์ •
    • HTML์˜ <head> ์š”์†Œ ๋‚ด์—์„œ ์•ˆ
    • ๋ฌธ๋ฒ•
      • ์„ ํƒ์ž(selector) : ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ HTML ์š”์†Œ ์„ ํƒ
      • ์ฃผ์„ : /* */

    image

2.5 ์„ ํƒ์ž


  • ํƒ€์ž… ์„ ํƒ์ž : HTML ์š”์†Œ ์ด๋ฆ„์„ ์‚ฌ์šฉ
  • ์•„์ด๋”” ์„ ํƒ์ž
    • ํŠน์ •ํ•œ ์š”์†Œ ์„ ํƒ (n๊ฐœ์ค‘ 1๊ฐœ)
    • ์š”์†Œ id ์•ž #
  • ํด๋ž˜์Šค ์„ ํƒ์ž
    • ํด๋ž˜์Šค๊ฐ€ ๋ถ€์—ฌ๋œ ์š”์†Œ ์„ ํƒ (n๊ฐœ์ค‘ m๊ฐœ)
    • ๋ช‡ ๊ฐœ์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ๋ฌถ์–ด ์Šคํƒ€์ผ ์ง€์ •
    • ex) .target
  • ์ „์ฒด ์„ ํƒ์ž
  • ์˜์‚ฌ ์„ ํƒ์ž
  • ์†์„ฑ ์„ ํƒ์ž

  • ์„ ํƒ์ž ๊ทธ๋ฃน
    • ๊ฐ ์„ ํƒ์ž์— ์˜ํ•˜์—ฌ ์„ ํƒ๋œ ์š”์†Œ์˜ ํ•ฉ
      • ์„ ํƒ์ž๋ฅผ , ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋‚˜์—ด
  • ์ž์†, ์ž์‹, ํ˜•์ œ ๊ฒฐํ•ฉ์ž

    image

  • ์˜์‚ฌ ํด๋ž˜์Šค
    • ํด๋ž˜์Šค๊ฐ€ ์ •์˜๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ„์ฃผ
    • ์ฝœ๋ก (:) ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ๊ธฐ

2.6 CSS ์„ ์–ธ ๋ฐฉ๋ฒ•


  • CSS ์„ ์–ธ ๋ฐฉ์‹
    • ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ : ์™ธ๋ถ€์— ํŒŒ์ผ๋กœ ์ €์žฅ
      • ๋งŽ์€ ํŽ˜์ด์ง€์— ๋™์ผํ•œ ์Šคํƒ€์ผ ์ ์šฉ ์‹œ
      • .css ํ™•์žฅ์ž ๊ฐ€์ง
    • ๋‚ด๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ : HTML ์•ˆ์— CSS ์ •์˜
    • ์ธ๋ผ์ธ ์Šคํƒ€์ผ ์‹œํŠธ : ๊ฐ๊ฐ์˜ HTML ์š”์†Œ๋งˆ๋‹ค ์Šคํƒ€์ผ ์ง€์ •

    • ์šฐ์„  ์ˆœ์œ„ : ์ธ๋ผ์ธ > ๋‚ด๋ถ€ > ์™ธ๋ถ€
    • ๋ถ€๋ชจ ์š”์†Œ์˜ ์Šคํƒ€์ผ์€ ์ž์‹์—๊ฒŒ ์ƒ์†

2.7 ๋ฐ•์Šค ๋ชจ๋ธ


  • ๋ฐ•์Šค ๋ชจ๋ธ
    • ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ์š”์†Œ๋ฅผ ๋ฐ•์Šค(์‚ฌ๊ฐํ˜•) ํ˜•ํƒœ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ๊ทธ๋ฆผ
  • ๋ฐ•์Šค ๋ชจ๋ธ ์†์„ฑ
    • margin
      • ๊ฒฝ๊ณ„ ์ฃผ์œ„ ์˜์—ญ
      • margin: 10px, 20px 30px 40px โ†’ ์œ„ ์˜ค๋ฅธ์ชฝ ์™ผ์ชฝ ์•„๋ž˜
    • border
    • padding
      • ์ปจํ…์ธ ์™€ ๊ฒฝ๊ณ„ ์‚ฌ์ด ๊ฐ„๊ฒฉ
      • ํˆฌ๋ช…ํ•จ
      • padding: 10px, 20px 30px 40px โ†’ ์œ„ ์˜ค๋ฅธ์ชฝ ์™ผ์ชฝ ์•„๋ž˜

    image

  • ์ˆ˜ํ‰ ์ •๋ ฌ
    • ์ธ๋ผ์ธ ์š”์†Œ
    • ๋ธ”๋ก ์š”์†Œ

2.8 ๋ ˆ์ด์•„์›ƒ


  • ๋ ˆ์ด์•„์›ƒ
    • ์›นํŽ˜์ด์ง€์—์„œ HTML ์š”์†Œ์˜ ์œ„์น˜, ํฌ๊ธฐ ๋“ฑ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ
      • ์ธ๋ผ์ธ ์š”์†Œ, ๋ธ”๋ก ์š”์†Œ
    • display
      • display:block โ†’ ๋ธ”๋ก ์š”์†Œ
      • display:inline โ†’ ์ธ๋ผ์ธ ์š”์†Œ
    • float
      • float ๋œ ์š”์†Œ๋Š” ํ•ญ์ƒ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐ€์žฅ ์™ผ์ชฝ์ด๋‚˜ ์˜ค๋ฅธ์ชฝ์— ๋ฐฐ์น˜
        • float ์†์„ฑ์ด right ๋ฉด ๊ทธ ์š”์†Œ๋Š” ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฐฐ์น˜๋˜๊ณ  ๋’ค๋”ฐ๋ฅด๋Š” ์š”์†Œ๋Š” ๋ฐ”๋กœ ์™ผ์ชฝ์œผ๋กœ ๋ฐฐ์น˜. left ์†์„ฑ์€ ๊ทธ ๋ฐ˜๋Œ€
    • position
  • Flex ์†์„ฑ
    • 1์ฐจ์› ๋ ˆ์ด์•„์›ƒ ๋ชจ๋ธ
    • ์š”์†Œ ๊ฐ„ ๊ณต๊ฐ„ ๋ฐฐ๋ถ„๊ณผ ์ •๋ ฌ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํšจ์œจ์ ์œผ๋กœ ์š”์†Œ ๋ฐฐ์น˜
    • flex-direction
      • row : ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ
      • column: ์œ„์—์„œ ์•„๋ž˜
    • justify-content์™€ align-items
      • main axis๋ฅผ ๊ธฐ์ค€ ์ •๋ ฌ : justify-content
      • cross axis๋ฅผ ๊ธฐ์ค€ ์ •๋ ฌ : align-items
  • Grid ์†์„ฑ
    • 2์ฐจ์› ๋ ˆ์ด์•„์›ƒ ๋ชจ๋ธ
    • ์—ด๊ณผ ํ–‰ ์„ค์ •์„ ํ†ตํ•ด ๊ฒฉ์ž ํ˜•์‹์œผ๋กœ ์š”์†Œ ๋ฐฐ์น˜

2.9 ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ ์†Œ๊ฐœ


  • ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ ํŠน์ง•
    • ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด : ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๋ฉฐ ์‹คํ–‰
    • ๋™์  ํƒ€์ดํ•‘ : ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ๊ฐ€ ์•„๋‹Œ ํ• ๋‹น ์‹œ ํƒ€์ž… ๊ฒฐ์ •
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ : ES6 ํ™•์žฅ์œผ๋กœ ์ •์  ํƒ€์ดํ•‘ ์ง€์›
    • ๊ฐ์ฒด ๊ธฐ๋ฐ˜ ์–ธ์–ด
      • ๊ฐ์ฒด ์„ ์–ธ๊ณผ ์ƒ์„ฑ ๋™์‹œ ์ฒ˜๋ฆฌ
    • ํ•จ์ˆ˜๋Š” ์ž์ฒด๋กœ ๊ฐ์ฒด

2.10 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜•


  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ณ€์ˆ˜
    • ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์ €์žฅ์†Œ
    • ๋ณ€์ˆ˜ ์„ ์–ธ์—๋Š” ์ž๋ฃŒํ˜• ์ง€์ • x
    • var : ์žฌํ• ๋‹น, ๊ฐ™์€ ๋ณ€์ˆ˜๋ช… ์žฌ์„ ์–ธ ๊ฐ€๋Šฅ
    • let : ์žฌํ• ๋‹น ๊ฐ€๋Šฅ, ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€
    • const : ์žฌํ• ๋‹น, ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€
  • ๊ธฐ๋ณธํ˜•
    • ์ˆซ์ž(number) : ์ •์ˆ˜ ์‹ค์ˆ˜
    • ๋ฌธ์ž์—ด(string)
    • Boolean : true, false

2.11 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜


  • 2๊ฐ€์ง€ ์ข…๋ฅ˜ ํ•จ์ˆ˜
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์žฅ ํ•จ์ˆ˜
    • ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜
      • ํ•จ์ˆ˜ ์„ ์–ธ์‹ : function ์„ ์–ธํ•˜๊ณ  ํ•จ์ˆ˜๋ช… ๊ธฐ์žฌ, ํ˜ธ์ด์ŠคํŒ… ๊ฐ€๋Šฅ
      • ํ•จ์ˆ˜ ํ‘œํ˜„์‹ : ๋ณ€์ˆ˜ ์„ ์–ธํ•˜๊ณ  ํ•จ์ˆ˜ ๋Œ€์ž…, ํ˜ธ์ด์ŠคํŒ… ๋ถˆ๊ฐ€
  • ํ™”์‚ดํ‘œ ํ•จ์ˆ˜
    • ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํ•œ ๊ฐœ์ธ ๊ฒฝ์šฐ ์†Œ๊ด„ํ˜ธ ์ƒ๋žต ๊ฐ€๋Šฅ
    • ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ํ–‰์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ return ์ƒ๋žต ๊ฐ€๋Šฅ

    image

  • ์ฝœ๋ฐฑ ํ•จ์ˆ˜
    • ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ โ†’ ์ฝœ๋ฐฑ ํ•จ์ˆ˜
  • ์Šค์ฝ”ํ”„ : ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„

2.12 ๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ(DOM)


  • DOM
    • ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ๋ฌธ์„œ๋ฅผ ํ•ด์„ํ•ด์„œ ์š”์†Œ(element)๋“ค์„ ํŠธ๋ฆฌ(tree) ํ˜•ํƒœ๋กœ ๊ตฌ์กฐํ™”
    • ๋ธŒ๋ผ์šฐ์ €๋Š” DOM ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๊ฐ ์š”์†Œ์— ์ ‘๊ทผ ๋ฐ ๋ณ€๊ฒฝ ํ›„ ํ™”๋ฉด์— ๋ Œ๋”๋ง
    • DOM ํŠธ๋ฆฌ์˜ ์ตœ์ƒ์œ„ ๋…ธ๋“œ๊ฐ€ document ๊ฐ์ฒด
    • ํ”„๋ก ํŠธ์—”๋“œ์˜ ๊ฐ์ฒด๋Š” ๋ธŒ๋ผ์šฐ์ € / ๋ฐฑ์—”๋“œ๋Š” Node.js๊ฐ€ ์ตœ์ƒ์œ„ ๊ฐ์ฒด
    • BOM : ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ฐ์ฒด๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ

2.13 ์ด๋ฒคํŠธ


  • ์ด๋ฒคํŠธ
    • ์›น ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚จ
    • ๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ
    • ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ
    • ์œˆ๋„์šฐ, ๋ฌธ์„œ ์ด๋ฒคํŠธ

2.14 BOM


  • ๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด ๋ชจ๋ธ
    • ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ
    • Window ๊ฐ์ฒด : ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ตœ์ƒ์œ„ ๊ฐ์ฒด

2.15 ๋น„๋™๊ธฐ ํ†ต์‹ 


  • XMLHttpRequest : WEB API
    • ์ฝœ๋ฐฑํ•จ์ˆ˜ ํ˜•์‹
  • Promise
    • Promise ํ˜•์‹
  • Fetch API
    • Promise ํ˜•์‹
  • async/await ๋ฌธ๋ฒ•
    • Promise ๊ธฐ๋ฐ˜์ด์ง€๋งŒ ๋ฌธ์žฅ ๊ตฌ์กฐ ๋‹ค๋ฆ„
  • JSON
    • ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ˜•์‹
  • REST API
    • REST ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•œ ์„œ๋น„์Šค API
    • ์ž์›, ํ–‰์œ„, ํ‘œํ˜„ 3๊ฐ€์ง€ ์š”์†Œ
      • ์ž์› : URI (๋ฆฌ์†Œ์Šค ํ‘œํ˜„)
      • ํ–‰์œ„ : HTTP ์š”์ฒญ ๋ฉ”์„œ๋“œ (POST, GET..)
      • ํ‘œํ˜„ : ํŽ˜์ด๋กœ๋“œ (์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ)

2.16 TypeScript


  • TypeScript
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ + ์ •์  ํƒ€์ž… ๋ฌธ๋ฒ• ์ถ”๊ฐ€



3์žฅ JSP ์„œ๋ธ”๋ฆฟ ๊ตฌ์กฐ

3.1 JSP ๊ฐœ์š”


  • JSP์™€ ์„œ๋ธ”๋ฆฟ
    • JSP : HTML ๋‚ด์— ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ๋™์  ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด
    • ์„œ๋ธ”๋ฆฟ : ์ž๋ฐ”๋ฅผ ์ด์šฉํ•œ ๋™์  ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ 
      • ์„œ๋ธ”๋ฆฟ์„ ์œ„ํ•ด์„œ๋Š” ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ํ•„์š” (ํ†ฐ์ผ“)
  • JSP
    • HTML ๋ฌธ์„œ ์‚ฌ์ด JSP ๋ฌธ๋ฒ• ์ฝ”๋“œ๊ฐ€ ์‚ฝ์ž…๋œ ํ˜•ํƒœ
    • JSP ๋‚ด HTML ์ฝ”๋“œ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ๊ทธ๋Œ€๋กœ ์ „์†ก
      • JSP ๋ฌธ๋ฒ• ์ฝ”๋“œ๋Š” ์‹คํ–‰๋˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ์ธ HTML ์ฝ”๋“œ๋งŒ ์›น ๋ธŒ๋ผ์šฐ์ € ์ „์†ก
    • ์ž๋ฐ” ์ฝ”๋“œ ์‚ฝ์ž… ๋ฐฉ์‹ ๊ธฐ์ค€
      • ์ง€์‹œ์ž
        • <%@ ์‹œ์ž‘ %> ๋
        • ์›น ์ปจํ…Œ์ด๋„ˆ๊ฐ€ JSP ํŽ˜์ด์ง€๋ฅผ ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ํ•„์š”ํ•œ ์ •๋ณด ๊ธฐ์ˆ 
      • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ
        • JSP ๋ฌธ์„œ ๋‚ด์— ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ๋ถ€๋ถ„
        • <% ์‹œ์ž‘ %> ๋, ์‚ฌ์ด์—๋Š” ์ž๋ฐ” ๋ช…๋ น๋ฌธ
      • ํ‘œํ˜„์‹
        • <%= ์‹œ์ž‘ %> ๋, ์‚ฌ์ด์—๋Š” ์ƒ์ˆ˜ ๋˜๋Š” ๋ณ€์ˆ˜, ๋ฆฌํ„ด๊ฐ’์ด ์žˆ๋Š” ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์‹
        • JSP ํŽ˜์ด์ง€ ๋‚ด ์ž๋ฐ” ์‹ ํ‘œํ˜„
  • JSP ํŠน์ง•
    • JSP ๋˜๋Š” ๋‹ค๋ฅธ ์„œ๋ธ”๋ฆฟ ๊ฐ„ ๋ฐ์ดํ„ฐ ์‰ฝ๊ฒŒ ๊ณต์œ 
    • ์ž๋ฐ”์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ๊ณผ ์ž๋ฐ” ์ปดํฌ๋„ŒํŠธ(Beans) ์‚ฌ์šฉ๊ฐ€๋Šฅ
    • ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ

3.2 ์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ


  • JSP ํƒœ๊ทธ
    • ์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ
      • ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • JSP๋ฅผ ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค๋กœ ๋ณ€ํ™˜
      • ์ปจํ…Œ์ด๋„ˆ(ํ†ฐ์ผ“)์€ ์ž๋ฐ” ์ฝ”๋“œ ์‚ฝ์ž…๋˜์–ด์žˆ๋Š” ์ŠคํŠธ๋ฆฝํŠธ๋ฆฟ ํƒœ๊ทธ ์ฒ˜๋ฆฌ, ๋‚˜๋จธ์ง€ HTML ์ฝ”๋“œ๋Š” ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๊ฐ„์ฃผ

    image

    • ์„ ์–ธ๋ฌธ ํƒœ๊ทธ
    • ๋ฉ”์„œ๋“œ๋‚˜ ์ „์—ญ๋ณ€์ˆ˜ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ
    • <%! %>๋Š” JSP ํŽ˜์ด์ง€์—์„œ ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ ์„ ์–ธ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ
    • ๊ตฌ์กฐ์ ์œผ๋กœ JSP์—์„œ ์ž๋ฐ”์ฝ”๋“œ ์‚ฌ์šฉ ๊ถŒ์žฅ x โ†’ ์„ ์–ธ๋ฌธ๋„ ๊ถŒ์žฅ x
    • ์„œ๋ธ”๋ฆฟ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณ€ํ™˜๋  ๋•Œ _jspService() ๋ฉ”์†Œ๋“œ ์™ธ๋ถ€์— ๋ฐฐ์น˜
  • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ ํƒœ๊ทธ
    • JSP ๋ฌธ์„œ ๋‚ด์—์„œ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ๋ถ€๋ถ„
    • ๋ฉ”์„œ๋“œ ์—†์ด ๋ณ€์ˆ˜๋งŒ ์„ ์–ธ
    • ์„œ๋ธ”๋ฆฟ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณ€ํ™˜๋  ๋•Œ _jspService() ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์— ๋ฐฐ์น˜
  • ํ‘œํ˜„์‹ ํƒœ๊ทธ
    • <%= %>๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ์ด๋‚˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๋“ฑ์— ์ด์šฉ
    • ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…(์ˆซ์ž, ๋ฌธ์ž, ๋ถˆ)๊ณผ ์ž๋ฐ” ๊ฐ์ฒด ํƒ€์ž… ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ, ๋ณ€์ˆ˜์ถœ๋ ฅ, ์‚ฌ์น™์—ฐ์‚ฐ ๋ฐ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ ๊ฐ€๋Šฅ
    • ๊ฐ ํ–‰์ด ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ์ข…๋ฃŒ ๋ชปํ•จ
    • ํ‘œํ˜„์‹ ๋ณด๋‹ค๋Š” ํ‘œํ˜„์–ธ์–ด ์‚ฌ์šฉ ๊ถŒ์žฅ
  • ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ
    • JSP์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ปจํ…Œ์ด๋„ˆ์— ์ œ๊ณต
  • ์•ก์…˜ ํƒœ๊ทธ
    • XML ํ˜•ํƒœ์˜ ํƒœ๊ทธ๋กœ JSP ํŽ˜์ด์ง€ ๊ฐ„ ์ œ์–ด (JSP์—ฐ๋™)
    • jsp: ๋กœ ์‹œ์ž‘

3.3 JSP ์ฒ˜๋ฆฌ ๊ณผ์ •์˜ ์ดํ•ด


  • ์›น ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ
    • Context Root
      • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”์ธ ์ ‘์† ๊ฒฝ๋กœ
      • JSP ์‹คํ–‰์„ ์œ„ํ•œ ๊ธฐ๋ณธ URL ์ ์šฉ
    • Content Directory
      • JSP, HTML, ์ด๋ฏธ์ง€๋“ฑ ๊ธฐ๋ณธ ์›น ์ปจํ…์ธ  ์œ„์น˜ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ
      • src/main/webapp ํด๋”๊ฐ€ ๊ธฐ๋ณธ๊ฐ’
  • JSP๊ฐ€ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ์ปดํŒŒ์ผ๋˜๊ณ  ์‹คํ–‰๋˜๋Š” ๊ณผ์ •
    • JSP๋Š” ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ์ž๋ฐ” ์†Œ์Šค๋กœ ๋ณ€ํ™˜๋˜๊ณ  ๋‹ค์‹œ ํด๋ž˜์Šค ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ
    • HelloWorld.jsp -> HelloWorld_jsp.java -> HelloWorld_jsp.class
  • JSP ๋‚ด์žฅ ๊ฐ์ฒด
    • HelloWorld_jsp.java ์— ์žˆ์Œ
    • ๋‚ด์žฅ๊ฐ์ฒด๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋œ JSP์—์„œ ๋ณ„๋„์˜ ์„ ์–ธ ์—†์ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด
    • jsp ํŒŒ์ผ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฆฟ ๋“ฑ์„ ์ด์šฉํ•ด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด
  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ JSP ์ฝ”๋“œ ๋ถ€๋ถ„
    • JSP ํŒŒ์ผ์—์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ๋ชจ๋‘ out.write() ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌ

3.4 JSP ํ”„๋กœ๊ทธ๋žจ ์œ ํ˜•


  • JSP ํ”„๋กœ๊ทธ๋žจ ์œ ํ˜• ๋น„๊ต
    • ์œ ํ˜• 1
      • ๋นˆ์ฆˆ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์Šคํฌ๋ฆฝํŠธ๋ฆฟ๋งŒ์„ ์‚ฌ์šฉ
    • ์œ ํ˜• 2
      • ๋นˆ์ฆˆ ํด๋ž˜์Šค( โ†’ ์ž๋ฐ”์˜ ๊ฐ์ฒด๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ)์™€ ์•ก์…˜ ํƒœ๊ทธ ์‚ฌ์šฉ
    • ์ž๋ฐ” ๋นˆ์ฆˆ
      • ํŠน์ •ํ•œ ์ผ์„ ๋™๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ
    • JSP ๋นˆ์ฆˆ
      • JSP์™€ ์—ฐ๋™๋˜์–ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฐ” ๋นˆ์ฆˆ

3.5 ์„œ๋ธ”๋ฆฟ ๊ฐœ์š”


  • ์„œ๋ธ”๋ฆฟ
    • ์ž๋ฐ”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ์ˆ 
    • JSP๋Š” ์„œ๋ธ”๋ฆฟ ๊ธฐ๋ฐ˜์˜ ์›น ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ๋‚ด๋ถ€์ ์œผ๋กœ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰
  • ์„œ๋ธ”๋ฆฟ์˜ ์žฅ์ 
    • ์ž๋ฐ”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋ฐ” API ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํšจ์œจ์ ์ธ ์ž๋ฃŒ ๊ณต์œ  ๋ฐฉ๋ฒ• ์ œ๊ณต
    • ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ๋„๊ตฌ, ์˜คํ”ˆ์†Œ์Šค ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์‹œ ์„œ๋ธ”๋ฆฟ ์‚ฌ์šฉ ์ด์ 
    • MVC ํŒจํ„ด ์‰ฝ๊ฒŒ ์ ์šฉ, ์ปจํ…Œ์ด๋„ˆ์™€ ๋ฐ€์ ‘ํ•œ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
    • MVC ํŒจํ„ด ์ ์šฉ ์‹œ ์ฝ˜ํ…์ธ ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ถ„๋ฅ˜ โ†’ ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ทฐ๊ฐ€ ์—ญํ•  ๋ถ„๋‹ด
  • MVC ํŒจํ„ด
    • ๋ชจ๋ธ
      • ๋ทฐ์— ํ•„์š”ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฒ˜๋ฆฌ
    • ๋ทฐ
      • ๋น„์ฆˆ๋‹ˆ์Šค ์˜์—ญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผํ™”๋ฉด ๋‹ด๋‹น
    • ์ปจํŠธ๋กค๋Ÿฌ
      • ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ ์ฒ˜๋ฆฌ์™€ ํ™”๋ฉด์˜ ํ๋ฆ„ ์ œ์–ด ๋‹ด๋‹น โ†’ Servlet
  • ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ
    • ์„œ๋ธ”๋ฆฟ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด

    image

  • ์„œ๋ธ”๋ฆฟ ๊ฐœ๋ฐœ๊ณผ ์‹คํ–‰ ๊ณผ์ •
    • ์„œ๋ธ”๋ฆฟ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์†Œ์Šค ์ž‘์„ฑ ํ›„ ์ปดํŒŒ์ผ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ปจํ…Œ์ด๋„ˆ์— ๋ฐฐ์น˜ํ•˜๊ฒŒ ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ์‹คํ–‰๋˜์–ด ๊ด€๋ฆฌํ•œ๋‹ค
    • ์„œ๋ธ”๋ฆฟ์€ url์„ ์ฑ…์ž„์ง„๋‹ค (url mapping์€ ์„œ๋กœ ๋‹ฌ๋ผ์•ผํ•จ โ†’ํ•˜๋‚˜์˜ ์„œ๋ธ”๋ฆฟ๋‹น ํ•˜๋‚˜์˜ url)
    • ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ์Šค๋ ˆ๋“œ ๋‹จ์œ„๋กœ ์‹คํ–‰๋˜๋ฉฐ ํ•„์š”ํ•œ ์ž‘์—…(๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์—ฐ๋™ ๋“ฑ) ์ˆ˜ํ–‰ ํ›„ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— HTML ํ˜•์‹์œผ๋กœ ์ „๋‹ฌ

    image

3.6 ์„œ๋ธ”๋ฆฟ ๊ตฌ์กฐ์™€ ์ƒ๋ช…์ฃผ๊ธฐ


  • ์„œ๋ธ”๋ฆฟ ๋™์ž‘ ๊ณผ์ •
    • ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„œ๋ธ”๋ฆฟ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ (์„œ๋ธ”๋ฆฟ ์ƒ์„ฑ๋ถ€ํ„ฐ ์ฃฝ์Œ๊นŒ์ง€)
    • ์„œ๋ธ”๋ฆฟ ์ƒ์„ฑ
      • init()
    • ์„œ๋ธ”๋ฆฟ ์ฃฝ์Œ
      • destory()
    • ์š”์ฒญ
      • service() โ†’doGet(), doPost()
  • ์„œ๋ธ”๋ฆฟ ๊ตฌ์กฐ์™€ API
    • ์„œ๋ธ”๋ฆฟ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ž๋ฐ” ํด๋ž˜์Šค ๊ตฌ์กฐ
    • ์„œ๋ธ”๋ฆฟ์€ ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ์‹คํ–‰ โ†’ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž„์˜๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐx, ํŠน์ • ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›์•„์•ผํ•œ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
    • ์„œ๋ธ”๋ฆฟ API๋Š” ์„œ๋ธ”๋ฆฟ๊ณผ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜
      • ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ธ”๋ฆฟ์€ jakarta.servlet.http.HttpServlet ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•ด์„œ ๊ตฌํ˜„
  • jakarta.servlet.http.HttpServlet ๋™์ž‘ ๊ตฌ์กฐ
    • HttpServlet๋„ jakarta.servlet.GenericServlet์„ ์ƒ์†
    • ๋ฉ”์„œ๋“œ๊ฐ€ post๋กœ ์˜ค๋ฉด doPost
    • ๋ฉ”์„œ๋“œ๊ฐ€ get์œผ๋กœ ์˜ค๋ฉด doGet
  • Get ๋ฐฉ์‹
    • ์„œ๋ฒ„์— ์žˆ๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ๋ฐฉ๋ฒ• (์ผ๋ฐ˜ ์ •๋ณด)
    • ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ์ œํ•œ โ†’ 240Byte
    • โ€˜?โ€™ ์ดํ›„์˜ ๊ฐ’๋“ค์€ ์„œ๋ฒ„์—์„œ QUERY_STRING์„ ํ†ตํ•ด ์ „๋‹ฌ
      • ์†์„ฑ=๊ฐ’ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ
      • &๋Š” ์—ฌ๋Ÿฌ ์†์„ฑ์„ ์ „๋‹ฌํ• ๋•Œ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๋ฌธ์ž์—ด
    • URL ๋…ธ์ถœ๋กœ ์ธํ•œ ๋ณด์•ˆ ๋ฌธ์ œ
  • POST ๋ฐฉ์‹
    • ์„œ๋ฒ„๋กœ ์ •๋ณด๋ฅผ ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋ฐฉ๋ฒ•
    • ์ •๋ณด๋ฅผ ๋ฉ”์„ธ์ง€ ๋ฐ”๋””์— ํฌํ•จ์‹œ์ผœ ์ „๋‹ฌ
    • URL์— ๋งค๊ฒŒ๋ณ€์ˆ˜ ํฌํ•จx โ†’ ๋ณด์•ˆ ๊ธฐ๋Šฅ (๊ฐœ์ธ์ •๋ณด)
    • ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ์ œํ•œ x
  • ์„œ๋ธ”๋ฆฟ ์ƒ๋ช…์ฃผ๊ธฐ
    • ์„œ๋ธ”๋ฆฟ ์ดˆ๊ธฐํ™” : init() ๋ฉ”์„œ๋“œ
      • ์„œ๋ธ”๋ฆฟ ์‹คํ–‰ ์‹œ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์„œ๋“œ ์ดˆ๊ธฐ์— ํ•œ๋ฒˆ ์‹คํ–‰
    • ์š”์ฒญ/์‘๋‹ต : service() ๋ฉ”์„œ๋“œ
      • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ์Šค๋ ˆ๋“œ๋กœ ์‹คํ–‰๋˜๋Š” ๋ฉ”์„œ๋“œ
      • HttpServletRequest ์™€ HttpServletResponse ๋ฅผ ํ†ตํ•ด ์š”์ฒญ ์ฒ˜๋ฆฌ
      • doGet, doPost
    • ์„œ๋ธ”๋ฆฟ ์ข…๋ฃŒ : desport() ๋ฉ”์„œ๋“œ
      • ์ปจํ…Œ์ด๋„ˆ๋กœ๋ถ€ํ„ฐ ์„œ๋ธ”๋ฆฟ ์ข…๋ฃŒ ์š”์ฒญ์ด ์žˆ์„ ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์„œ๋“œ
      • ํ•œ๋ฒˆ ์‹คํ–‰

3.7 ์„œ๋ธ”๋ฆฟ ์˜ˆ์ œ


  • ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค ์„ ์–ธ
    • @WebServlet : ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„œ๋ธ”๋ฆฟ์ž„์„ ์•Œ๋ฆฌ๋Š” ์• ๋„ˆํ…Œ์ด์…˜
    • urlPatterns={โ€œ/HelloWorldServletโ€} : ์„œ๋ธ”๋ฆฟ ์‹คํ–‰์„ ์œ„ํ•œ ์š”์ฒญ URL
  • HttpServlet ํด๋ž˜์Šค์˜ ๊ฐœ์š”
    • doGet ๋ฉ”์„œ๋“œ์™€ doPost ๋ฉ”์„œ๋“œ
    • HttpServletRequest์™€ HttpServletResponse ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์„œ๋ธ”๋ฆฟ๊ณผ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์ค‘์š”ํ•œ ๊ฐ์ฒด โ†’ HttpServlet ํด๋ž˜์Šค์˜ ํŠน์ง•

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: