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์ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง.
- ์ดํด๋ฆฝ์ค ์ธ์ฝ๋ฉ ๋ฐฉ์ ์ค์ ๋ฐฉ๋ฒ
- window - preference - web
- ์ ํ๊ณ ์ถ์ ํ์ผ ์ํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ
- ์ฌ๋งํ๋ฉด UTF-8๋ก ๋ฐ๊พธ์
- ๊ฒฝ๋ก ํ์ ๋ฐฉ๋ฒ
- ๋ฆฌ์์ค ํ์ผ์ด HTML ๋ฌธ์์ ๊ฐ์ ์๋ฒ์ ์กด์ฌํ๋ฉด ํ๋กํ ์ฝ,์๋ฒ๋ช ,ํฌํธ๋ฅผ ์๋ตํ์ฌ ํํ
- ์ ๋๊ฒฝ๋ก ํํ๋ฐฉ๋ฒ : ์๋ฒ์ ์ต์์ ๋๋ ํ ๋ฆฌ(Root Directory : /)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์์ค ๊ฒฝ๋ก๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
- ์๋๊ฒฝ๋ก ํํ๋ฐฉ๋ฒ : ํ์ฌ ์์ฒญ๋ฌธ์์ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์์ค ๊ฒฝ๋ก๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
- a ํ๊ทธ
- => href ์์ฑ์ ์ด์ฉํ์ฌ ํ์ดํผ ๋งํฌ(Hyper Link) ๊ธฐ๋ฅ์ ์ ๊ณต
- href ์์ฑ : ์์ฒญ ์น๋ฌธ์(์นํ๋ก๊ทธ๋จ)์ URL ์ฃผ์๋ฅผ ์์ฑ๊ฐ์ผ๋ก ์ค์
- => a ํ๊ทธ์ ๋ฐ์ค๋ชจ๋ธ์์ ํด๋ฆญ ์ด๋ฒคํธ๊ฐ ๋ฐ์๋ ๊ฒฝ์ฐ href ์์ฑ๊ฐ์ผ๋ก ์ค์ ๋ URL ์ฃผ์์ ์น๋ฌธ์(์นํ๋ก๊ทธ๋จ)์ ์์ฒญํ์ฌ ์๋ก์ด ์๋ต๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ ์ถ๋ ฅ - ํ์ด์ง ์ด๋
- => ๋ธ๋ผ์ฐ์ ์ ์ฃผ์์ฐฝ์ด href ์์ฑ๊ฐ์ผ๋ก ์ค์ ๋ URL ์ฃผ์๋ก ๋ณ๊ฒฝ
- target ์์ฑ : ์น๋ฌธ์(์นํ๋ก๊ทธ๋จ)์ ์์ฒญํ์ฌ ์ถ๋ ฅ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์์ฑ๊ฐ์ผ๋ก ์ค์
- => ์์ฑ๊ฐ : _self(ํ์ฌ ๋ธ๋ฌ์ฐ์ - ๊ธฐ๋ณธ), _blank(์๋ก์ด ๋ธ๋ฌ์ฐ์ ), _top(์ต์์ ๋ธ๋ฌ์ฐ์ ) , _parent(๋ถ๋ชจ ๋ธ๋ฌ์ฐ์ ), _child(์์ ๋ธ๋ฌ์ฐ์ ), iframe ํ๊ทธ(๊ฐ์์ ๋ธ๋ฌ์ฐ์ )์ name ์์ฑ๊ฐ
- form ํ๊ทธ
- a ํ๊ทธ๋ฅผ ์ด์ฉํ์ฌ ๋ค๋ฅธ ์น๋ฌธ์(์นํ๋ก๊ทธ๋จ) ์์ฒญ
- => href ์์ฑ์ ์์ฒญ ์น๋ฌธ์(์นํ๋ก๊ทธ๋จ)์ URL ์ฃผ์๋ฅผ ์ค์ ํ์ฌ ํ์ด์ง ์ด๋
- => ์์ฒญ URL ์ฃผ์์ ์ฟผ๋ฆฌ ์คํธ๋ง์ ์ฌ์ฉํ์ฌ ๊ฐ ์ ๋ฌ
- ์ฟผ๋ฆฌ ์คํธ๋ง(QueryString) : URL ์ฃผ์ ๋ค์ ? ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ [์ด๋ฆ=๊ฐ] ํ์์ผ๋ก ๊ฐ ์ ๋ฌ
- => & ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฌ๊ฐ์ ์ฐ๊ฒฐํด ์ฌ๋ฌ๊ฐ์ ๊ฐ์ ์ ๋ฌ ๊ฐ๋ฅ
- URL ์ฃผ์๋ ์๋ฌธ์, ์ซ์, ์ผ๋ถ ํน์๋ฌธ์๋ก๋ง ํํ๋๋ฉฐ ๊ทธ์ธ ๋ฌธ์๋ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
- => ์ ๋ฌ๊ฐ์ผ๋ก ์๋ฌธ์, ์ซ์, ์ผ๋ถ ํน์๋ฌธ์๋ฅผ ์ ์ธํ ๋ฌธ์ ์ ๋ฌ ๋ถ๊ฐ๋ฅ
- => ์๋ฌธ์, ์ซ์, ์ผ๋ถ ํน์๋ฌธ์๋ฅผ ์ ์ธํ ๋ฌธ์๋ ๋ถํธํ ์ฒ๋ฆฌํ์ฌ ์ ๋ฌ - JavaScript ์ด์ฉ
- form ํ๊ทธ : ์ฌ์ฉ์๋ก๋ถํฐ ๊ฐ์ ์ ๋ ฅ๋ฐ์ ์นํ๋ก๊ทธ๋จ์ ์์ฒญํ์ฌ ์ ๋ ฅ๊ฐ์ ์ ๋ฌ
- => ํ์ํ๊ทธ๋ก ์ ๋ ฅํ๊ทธ์ ์์ฒญ ์ด๋ฒคํธ(Submit Event)๋ฅผ ์ ๊ณตํ๋ ํ๊ทธ๋ฅผ ๋ฐ๋์ ์์ฑ
- action ์์ฑ : ์์ฒญ ์นํ๋ก๊ทธ๋จ(Servelt ๋๋ JSP)์ URL ์ฃผ์๋ฅผ ์์ฑ๊ฐ์ผ๋ก ์ค์
- => action ์์ฑ์ ์๋ตํ ๊ฒฝ์ฐ ํ์ฌ ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ URL ์ฃผ์์ ์นํ๋ก๊ทธ๋จ ์ฌ์์ฒญ
- method ์์ฑ : GET(๊ธฐ๋ณธ) ๋๋ POST ์ค ํ๋๋ฅผ ์์ฑ๊ฐ์ผ๋ก ์ค์ - ์์ฒญ ๋ฐฉ์
- => GET : ์ ๋ ฅ๊ฐ์ URL ์ฃผ์์ QueryString์ผ๋ก ์ ๋ฌ - ์์ฉ๋์ ๋ณด์์ด ํ์์๋ ๊ฐ => POST : ์ ๋ ฅ๊ฐ์ ๋ฆฌํ์คํธ ๋ฉ์ธ์ง์ ๋ฐ๋(Body)์ ์ ์ฅํ์ฌ ์ ๋ฌ - ๋์ฉ๋ ๋๋ ๋ณด์์ด ํ์ํ ๊ฐ
- enctype ์์ฑ : ์ ๋ ฅ๊ฐ์ ์ ๋ฌํ๋ ๋ฐฉ์์ ์์ฑ๊ฐ์ผ๋ก ์ค์
- => [application/x-www-form-urlencoded] ์์ฑ๊ฐ(๊ธฐ๋ณธ) : ์ ๋ ฅ๊ฐ์ ์ธ์ฝ๋ฉ ์ฒ๋ฆฌ๋ ๋ฌธ์ ๋ฐ์ดํ(2Byte)๋ก ์ ๋ฌ => [multipart/form-data] ์์ฑ๊ฐ : ์ ๋ ฅ๊ฐ์ ์์ ๋ฐ์ดํ(1Byte)๋ก ์ ๋ฌ - ํ์ผ์ ์ ๋ ฅ๋ฐ์ ์ ๋ฌํ ๊ฒฝ์ฐ ์ฌ์ฉ
- name ์์ฑ : ํ๊ทธ์ ์ด๋ฆ์ ์์ฑ๊ฐ์ผ๋ก ์ค์ - JavaScript์์ ์์ฑ๊ฐ์ ๊ฐ์ฒด๋ก ํํ
- ์ ๋ ฅํ๊ทธ : input, select, textarea ๋ฑ - 1๊ฐ ์ด์
- ์์ฒญ ์ด๋ฒคํธ(Submit Event)๋ฅผ ์ ๊ณตํ๋ ํ๊ทธ : input ํ๊ทธ, button ํ๊ทธ ๋ฑ - 1๊ฐ
- button ํ๊ทธ์ type ์์ฑ๊ฐ์ [submit]์ผ๋ก ์ค์ ํ๋ฉด ๋ฒํผ์ ํด๋ฆญํ ๊ฒฝ์ฐ ์์ฒญ ์ด๋ฒคํธ ๋ฐ์
- => ์์ฒญ ์ด๋ฒคํธ๊ฐ ๋ฐ์๋ ๊ฒฝ์ฐ form ํ๊ทธ๊ฐ ๋์๋์ด ์ค์ ๋ URL ์ฃผ์์ ์นํ๋ก๊ทธ๋จ์ ์์ฒญํ์ฌ ์ ๋ ฅ๊ฐ ์ ๋ฌ => ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ ์์ฒญ ์นํ๋ก๊ทธ๋จ์ URL ์ฃผ์๋ก ๋ณ๊ฒฝ
- ์คํฐ๋ ๋ด์ฉ
- HTML ํ๊ทธ๋ฅผ ๋ณต์ตํจ (์น ํ๋ก๊ทธ๋๋ฐ์์ ์ ์ผ ์ค์ํ a, form ํ๊ทธ ์์ฃผ ๊ฐ๋ ์ ๋ฆฌ)
- ๊น(git) ๊ด๋ จ ๊ณต๋ถ๋ฅผ ๊ณํ. (์ํ์ฝ๋ฉ ๊ฐ์ข ์ฃผ๋ง๊ฐ ํผ์๋ฒ์ )
- ๊ณง ๋ค๊ฐ์ฌ ์ธ๋ฏธํ๋ก์ ํธ์ ๋๋น์ ํ ์
- ๊ธฐ์ ๋ฉด์ ์ค๋น๋ฅผ ์ํ ์ฃผ๊ธฐ์ ์ธ ์ํธ๊ฐ์ java ๊ฐ๋ ์ฑ ์ง๋ฌธ์ ๋์ง๊ธฐ๋ก ๊ณํํจ
- ์ฃผ๋ง ๊ณํ ์ธ์ฐ๊ธฐ! ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊น์ ํผ์๋ฒ์ ์ ๊ณต๋ถํ ์๊ฐ!
์ค๋์ ํ๊ฐ
HTML์ ๊ธฐ๋ณธ ํํฌ๋ค์ ๋ฐฐ์ ๋ค. ๊ทธ ์ค์์ ์น ํ๋ก๊ทธ๋๋ฐ์์ ์ฃผ๋ก ์ฐ์ด๋ aํ๊ทธ์ formํ๊ทธ๋ฅผ ์ง์ค์ ์ผ๋ก ๋ณต์ต์ ํ๋ค.
์ฃผ์ url์ ์ป์ด์ ์น ํ์ด์ง๋ฅผ ์ด๊ณ ํผ์ ์์ฑํ์ฌ ๋ฒํผ ๋ฐ ์ ๋ ฅ์ ๋ฐ๋ ํํฌ๋ค์ ์ด์ฉํ ์์ ๋ฅผ ๋ณด๋ฉฐ ๋ณต์ต์ ๋ง์ณค๋ค.
์ ๊น์ css์ javascript ์ฝ๋๋ฅผ ํตํด ๋์ ์ธ ์น์ด ๋ฌด์์ธ์ง๋ฅผ ์ฒด๊ฐํ๊ฒ ๋ ํ๋ฃจ์๋ค. ์๋ฐ๋ฅผ ํ ๋์ ๋นํด์๋ ํฌ๊ฒ ์ด๋ ค์ด ๋๋์ ์์์ง๋ง ๊ฒฐ์ฝ ๊ฐ๋ณ๊ฒ ์ฌ๊ธฐ๋ ๋ง์ ์์ด ๊ฒธ์ํ ๊พธ์คํ ๊ณต๋ถ์ ์ํ๊ฒ ๋ค๋ ๋ค์ง์ ํ๋ค.
์ฃผ๋ง๊ฐ ํ๋ด์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊น ๊ณต๋ถ๋ฅผ ํด์ผ์ง!
๋ฐ์ํ