Front

2021.12.17์˜ ๊ธฐ๋ก

GroovyArea 2021. 12. 17. 18:40
  • ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ

- ๊ฐ์ข… HTML ํƒœ๊ทธ๋“ค


์ˆ˜์—… ๋‚ด์šฉ

  • HTML
  • HTML(Hyper Text Markup Langage) : ์›น๋ฌธ์„œ ๊ตฌ์กฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด=> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ•์Šค๋ชจ๋ธ๋กœ ํ‘œํ˜„ - DOM(Document Object Model)
  • => ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์— ์˜ํ•ด ํ•ด์„๋˜์–ด ์ถœ๋ ฅ - CSL(Client Script Language) : HTML, CSS, JavaScript ๋“ฑ
  • ํƒœ๊ทธ์˜ ์ดํ•ด
  • ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTML ๋ฌธ์„œ ์ž‘์„ฑ - ํƒœ๊ทธ๋Š” ๋Œ€์†Œ๋ฌธ์ž ๋ฏธ๊ตฌ๋ถ„ ์‹œ์ž‘ํƒœ๊ทธ์™€ ์ข…๋ฃŒํƒœ๊ทธ๊ฐ€ ํ•˜๋‚˜์˜ ์ง์œผ๋กœ ๊ตฌ์„ฑ - ๋…๋ฆฝํƒœ๊ทธ ์กด์žฌ ํƒœ๊ทธ๋Š” ๊ณ„์ธต์  ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ - ์ƒ์œ„ํƒœ๊ทธ์™€ ํ•˜์œ„ํƒœ๊ทธ ์กด์žฌ : DOM Tree ์‹œ์ž‘ํƒœ๊ทธ์™€ ์ข…๋ฃŒํƒœ๊ทธ ์‚ฌ์ด์— ํ•˜์œ„ํƒœ๊ทธ ๋˜๋Š” ํƒœ๊ทธ๋‚ด์šฉ ํ‘œํ˜„ ์‹œ์ž‘ํƒœ๊ทธ์—๋Š” ์†์„ฑ๊ณผ ์†์„ฑ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒœ๊ทธ๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ํ‘œํ˜„
  • ๋ธ”๋Ÿญ, ์ธ๋ผ์ธ ๋ ˆ๋ฒจ ํƒœ๊ทธ
  • ๋ธ”๋Ÿญ ๋ ˆ๋ฒจ ํƒœ๊ทธ : ํ•˜๋‚˜์˜ ํƒœ๊ทธ๊ฐ€ ํ•˜๋‚˜์˜ ๋ผ์ธ(Line)์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ - div, h1, p, ol, ul ๋“ฑ ์ธ๋ผ์ธ ๋ ˆ๋ฒจ ํƒœ๊ทธ : ํ•˜๋‚˜์˜ ํƒœ๊ทธ๊ฐ€ ๋ผ์ธ ์ผ๋ถ€๋ถ„์„ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ - span, img, input, select ๋“ฑ

  • ์ดํด๋ฆฝ์Šค์ƒ ์„œ๋ฒ„ ๋“ฑ๋ก ๋ฐฉ๋ฒ•
  • Java Build Path์—์„œ server ๋“ฑ๋ก
  • Context Name = webapp ํด๋” (๊ณ„์ธต์  ๊ตฌ์กฐ๋กœ ์กด์žฌ)
  • web์€ ๋ชจ๋“ˆ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ง.

  • ์ดํด๋ฆฝ์Šค ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹ ์„ค์ •๋ฐฉ๋ฒ•
  1. window - preference - web
  2. ์ •ํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ
  3. ์›ฌ๋งŒํ•˜๋ฉด UTF-8๋กœ ๋ฐ”๊พธ์ž

  • ๊ฒฝ๋กœ ํ‘œ์‹œ ๋ฐฉ๋ฒ•
  1. ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์ด HTML ๋ฌธ์„œ์™€ ๊ฐ™์€ ์„œ๋ฒ„์— ์กด์žฌํ•˜๋ฉด ํ”„๋กœํ† ์ฝœ,์„œ๋ฒ„๋ช…,ํฌํŠธ๋ฅผ ์ƒ๋žตํ•˜์—ฌ ํ‘œํ˜„
  2. ์ ˆ๋Œ€๊ฒฝ๋กœ ํ‘œํ˜„๋ฐฉ๋ฒ• : ์„œ๋ฒ„์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ(Root Directory : /)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
  3. ์ƒ๋Œ€๊ฒฝ๋กœ ํ‘œํ˜„๋ฐฉ๋ฒ• : ํ˜„์žฌ ์š”์ฒญ๋ฌธ์„œ์˜ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

  • a ํƒœ๊ทธ
  1. => href ์†์„ฑ์„ ์ด์šฉํ•˜์—ฌ ํ•˜์ดํผ ๋งํฌ(Hyper Link) ๊ธฐ๋Šฅ์„ ์ œ๊ณต
  2. href ์†์„ฑ : ์š”์ฒญ ์›น๋ฌธ์„œ(์›นํ”„๋กœ๊ทธ๋žจ)์˜ URL ์ฃผ์†Œ๋ฅผ ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ •
  3. => a ํƒœ๊ทธ์˜ ๋ฐ•์Šค๋ชจ๋ธ์—์„œ ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒ๋  ๊ฒฝ์šฐ href ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ •๋œ URL ์ฃผ์†Œ์˜ ์›น๋ฌธ์„œ(์›นํ”„๋กœ๊ทธ๋žจ)์„ ์š”์ฒญํ•˜์—ฌ ์ƒˆ๋กœ์šด ์‘๋‹ต๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์™€ ์ถœ๋ ฅ - ํŽ˜์ด์ง€ ์ด๋™
  4. => ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์ด href ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ •๋œ URL ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝ
  5. target ์†์„ฑ : ์›น๋ฌธ์„œ(์›นํ”„๋กœ๊ทธ๋žจ)์„ ์š”์ฒญํ•˜์—ฌ ์ถœ๋ ฅ๋  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ •
  6. => ์†์„ฑ๊ฐ’ : _self(ํ˜„์žฌ ๋ธŒ๋Ÿฌ์šฐ์ € - ๊ธฐ๋ณธ), _blank(์ƒˆ๋กœ์šด ๋ธŒ๋Ÿฌ์šฐ์ €), _top(์ตœ์ƒ์œ„ ๋ธŒ๋Ÿฌ์šฐ์ €) , _parent(๋ถ€๋ชจ ๋ธŒ๋Ÿฌ์šฐ์ €), _child(์ž์‹ ๋ธŒ๋Ÿฌ์šฐ์ €), iframe ํƒœ๊ทธ(๊ฐ€์ƒ์˜ ๋ธŒ๋Ÿฌ์šฐ์ €)์˜ name ์†์„ฑ๊ฐ’

  • form ํƒœ๊ทธ
  1. a ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์›น๋ฌธ์„œ(์›นํ”„๋กœ๊ทธ๋žจ) ์š”์ฒญ
  2. => href ์†์„ฑ์— ์š”์ฒญ ์›น๋ฌธ์„œ(์›นํ”„๋กœ๊ทธ๋žจ)์˜ URL ์ฃผ์†Œ๋ฅผ ์„ค์ •ํ•˜์—ฌ ํŽ˜์ด์ง€ ์ด๋™
  3. => ์š”์ฒญ URL ์ฃผ์†Œ์— ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’ ์ „๋‹ฌ
  4. ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง(QueryString) : URL ์ฃผ์†Œ ๋’ค์— ? ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ [์ด๋ฆ„=๊ฐ’] ํ˜•์‹์œผ๋กœ ๊ฐ’ ์ „๋‹ฌ
  5. => & ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „๋‹ฌ๊ฐ’์„ ์—ฐ๊ฒฐํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ์ „๋‹ฌ ๊ฐ€๋Šฅ
  6. URL ์ฃผ์†Œ๋Š” ์˜๋ฌธ์ž, ์ˆซ์ž, ์ผ๋ถ€ ํŠน์ˆ˜๋ฌธ์ž๋กœ๋งŒ ํ‘œํ˜„๋˜๋ฉฐ ๊ทธ์™ธ ๋ฌธ์ž๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ
  7. => ์ „๋‹ฌ๊ฐ’์œผ๋กœ ์˜๋ฌธ์ž, ์ˆซ์ž, ์ผ๋ถ€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๋ฌธ์ž ์ „๋‹ฌ ๋ถˆ๊ฐ€๋Šฅ
  8. => ์˜๋ฌธ์ž, ์ˆซ์ž, ์ผ๋ถ€ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๋ฌธ์ž๋Š” ๋ถ€ํ˜ธํ™” ์ฒ˜๋ฆฌํ•˜์—ฌ ์ „๋‹ฌ - JavaScript ์ด์šฉ
  9. form ํƒœ๊ทธ : ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์•„ ์›นํ”„๋กœ๊ทธ๋žจ์„ ์š”์ฒญํ•˜์—ฌ ์ž…๋ ฅ๊ฐ’์„ ์ „๋‹ฌ
  10. => ํ•˜์œ„ํƒœ๊ทธ๋กœ ์ž…๋ ฅํƒœ๊ทธ์™€ ์š”์ฒญ ์ด๋ฒคํŠธ(Submit Event)๋ฅผ ์ œ๊ณตํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ž‘์„ฑ
  11. action ์†์„ฑ : ์š”์ฒญ ์›นํ”„๋กœ๊ทธ๋žจ(Servelt ๋˜๋Š” JSP)์˜ URL ์ฃผ์†Œ๋ฅผ ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ •
  12. => action ์†์„ฑ์„ ์ƒ๋žตํ•œ ๊ฒฝ์šฐ ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— URL ์ฃผ์†Œ์˜ ์›นํ”„๋กœ๊ทธ๋žจ ์žฌ์š”์ฒญ
  13. method ์†์„ฑ : GET(๊ธฐ๋ณธ) ๋˜๋Š” POST ์ค‘ ํ•˜๋‚˜๋ฅผ ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ • - ์š”์ฒญ ๋ฐฉ์‹
  14. => GET : ์ž…๋ ฅ๊ฐ’์„ URL ์ฃผ์†Œ์˜ QueryString์œผ๋กœ ์ „๋‹ฌ - ์†Œ์šฉ๋Ÿ‰์˜ ๋ณด์•ˆ์ด ํ•„์š”์—†๋Š” ๊ฐ’ => POST : ์ž…๋ ฅ๊ฐ’์„ ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์„ธ์ง€์˜ ๋ฐ”๋””(Body)์— ์ €์žฅํ•˜์—ฌ ์ „๋‹ฌ - ๋Œ€์šฉ๋Ÿ‰ ๋˜๋Š” ๋ณด์•ˆ์ด ํ•„์š”ํ•œ ๊ฐ’
  15. enctype ์†์„ฑ : ์ž…๋ ฅ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์„ ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ •
  16. => [application/x-www-form-urlencoded] ์†์„ฑ๊ฐ’(๊ธฐ๋ณธ) : ์ž…๋ ฅ๊ฐ’์„ ์ธ์ฝ”๋”ฉ ์ฒ˜๋ฆฌ๋œ ๋ฌธ์ž ๋ฐ์ดํƒ€(2Byte)๋กœ ์ „๋‹ฌ => [multipart/form-data] ์†์„ฑ๊ฐ’ : ์ž…๋ ฅ๊ฐ’์„ ์›์‹œ ๋ฐ์ดํƒ€(1Byte)๋กœ ์ „๋‹ฌ - ํŒŒ์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ์ „๋‹ฌํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ
  17. name ์†์„ฑ : ํƒœ๊ทธ์˜ ์ด๋ฆ„์„ ์†์„ฑ๊ฐ’์œผ๋กœ ์„ค์ • - JavaScript์—์„œ ์†์„ฑ๊ฐ’์„ ๊ฐ์ฒด๋กœ ํ‘œํ˜„
  18. ์ž…๋ ฅํƒœ๊ทธ : input, select, textarea ๋“ฑ - 1๊ฐœ ์ด์ƒ
  19. ์š”์ฒญ ์ด๋ฒคํŠธ(Submit Event)๋ฅผ ์ œ๊ณตํ•˜๋Š” ํƒœ๊ทธ : input ํƒœ๊ทธ, button ํƒœ๊ทธ ๋“ฑ - 1๊ฐœ
  20. button ํƒœ๊ทธ์˜ type ์†์„ฑ๊ฐ’์„ [submit]์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ๊ฒฝ์šฐ ์š”์ฒญ ์ด๋ฒคํŠธ ๋ฐœ์ƒ
  21. => ์š”์ฒญ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒ๋œ ๊ฒฝ์šฐ form ํƒœ๊ทธ๊ฐ€ ๋™์ž‘๋˜์–ด ์„ค์ •๋œ URL ์ฃผ์†Œ์˜ ์›นํ”„๋กœ๊ทธ๋žจ์„ ์š”์ฒญํ•˜์—ฌ ์ž…๋ ฅ๊ฐ’ ์ „๋‹ฌ => ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์€ ์š”์ฒญ ์›นํ”„๋กœ๊ทธ๋žจ์˜ URL ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝ

  • ์Šคํ„ฐ๋”” ๋‚ด์šฉ
  • HTML ํƒœ๊ทธ๋ฅผ ๋ณต์Šตํ•จ (์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ œ์ผ ์ค‘์š”ํ•œ a, form ํƒœ๊ทธ ์œ„์ฃผ ๊ฐœ๋… ์ •๋ฆฌ)
  • ๊นƒ(git) ๊ด€๋ จ ๊ณต๋ถ€๋ฅผ ๊ณ„ํš. (์ƒํ™œ์ฝ”๋”ฉ ๊ฐ•์ขŒ ์ฃผ๋ง๊ฐ„ ํ˜ผ์ž๋ฒ„์ „)
  • ๊ณง ๋‹ค๊ฐ€์˜ฌ ์„ธ๋ฏธํ”„๋กœ์ ํŠธ์˜ ๋Œ€๋น„์  ํ† ์˜
  • ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ์œ„ํ•œ ์ฃผ๊ธฐ์ ์ธ ์ƒํ˜ธ๊ฐ„์˜ java ๊ฐœ๋… ์„ฑ ์งˆ๋ฌธ์„ ๋˜์ง€๊ธฐ๋กœ ๊ณ„ํšํ•จ
  • ์ฃผ๋ง ๊ณ„ํš ์„ธ์šฐ๊ธฐ! ๋‚˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๊นƒ์„ ํ˜ผ์ž๋ฒ„์ „์„ ๊ณต๋ถ€ํ•  ์ƒ๊ฐ!

์˜ค๋Š˜์˜ ํ‰๊ฐ€

HTML์˜ ๊ธฐ๋ณธ ํƒœํฌ๋“ค์„ ๋ฐฐ์› ๋‹ค. ๊ทธ ์ค‘์—์„œ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ฃผ๋กœ ์“ฐ์ด๋Š” aํƒœ๊ทธ์™€ formํƒœ๊ทธ๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ๋ณต์Šต์„ ํ–ˆ๋‹ค. 

์ฃผ์†Œ url์„ ์–ป์–ด์™€ ์›น ํŽ˜์ด์ง€๋ฅผ ์—ด๊ณ  ํผ์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฒ„ํŠผ ๋ฐ ์ž…๋ ฅ์„ ๋ฐ›๋Š” ํƒœํฌ๋“ค์„ ์ด์šฉํ•œ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉฐ ๋ณต์Šต์„ ๋งˆ์ณค๋‹ค.

์ž ๊น์˜ css์™€ javascript ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋™์ ์ธ ์›น์ด ๋ฌด์—‡์ธ์ง€๋ฅผ ์ฒด๊ฐํ•˜๊ฒŒ ๋œ ํ•˜๋ฃจ์˜€๋‹ค. ์ž๋ฐ”๋ฅผ ํ•œ ๋•Œ์— ๋น„ํ•ด์„œ๋Š” ํฌ๊ฒŒ ์–ด๋ ค์šด ๋А๋‚Œ์€ ์—†์—ˆ์ง€๋งŒ ๊ฒฐ์ฝ” ๊ฐ€๋ณ๊ฒŒ ์—ฌ๊ธฐ๋Š” ๋งˆ์Œ ์—†์ด ๊ฒธ์†ํžˆ ๊พธ์ค€ํžˆ ๊ณต๋ถ€์— ์ž„ํ•˜๊ฒ ๋‹ค๋Š” ๋‹ค์ง์„ ํ–ˆ๋‹ค.

์ฃผ๋ง๊ฐ„ ํž˜๋‚ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๊นƒ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผ์ง€! 

 

๋ฐ˜์‘ํ˜•