1. MVC(model-view-controller)
MVC๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋ฐ์ดํฐ ๋ฐ ๋ ผ๋ฆฌ ์ ์ด๋ฅผ ๊ตฌํํ๋๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๋์์ธ ํจํด์ด๋ค.
๋ง ๊ทธ๋๋ก ๋ชจ๋ธ, ๋ทฐ, ์ปจํธ๋กค๋ฌ์ ์ธ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์ํํธ์จ์ด์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ํ๋ฉด์ ๊ตฌ๋ถํ๋๋ฐ ์ค์ ์ ๋๊ณ ์์ต๋๋ค. ๋ก์ง๊ณผ ํ๋ฉด์ ๊ตฌ๋ถํจ์ ๋ฐ๋ผ ๋๋์ ์ ๋ฌด์ ๋ถ๋ฆฌ์ ํฅ์๋ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํด์ค๋ค.
<MVC๊ฐ๊ฐ์ ๊ธฐ๋ฅ>
Model : ๋น์ฆ๋์ค ์์ญ์ ๋ก์ง ์ฒ๋ฆฌ -> ๋ก์ง ์ฒ๋ฆฌ ํด๋์ค, ์๋ฐ๋น
View : ๋น์ฆ๋์ค ์์ญ์ ๋ํ ํ๋ ์ ํ ์ด์ ๋ทฐ (์ฌ์ฉ์๊ฐ ๋ณด๊ฒ ๋ ๊ฒฐ๊ณผ ํ๋ฉด) -> JSP
Controller : ์ฌ์ฉ์์ ์ ๋ ฅ์ฒ๋ฆฌ์ ํ๋ฆ์ ์ด ๋ด๋น. ->Servlet
โถ mvc๋ 2๊ฐ์ง ๋ชจ๋ธ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์์.
- ๋ชจ๋ธ1 - JSP๋ฅผ ์ด์ฉํ ๋จ์ ๋ชจ๋ธ
- ์น ๋ธ๋ผ์ฐ์ ์์ฒญ์ JSP๊ฐ ์ง์ ์ฒ๋ฆฌํจ.
- ๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌ์ํ ์ฝ๋์ ์น ๋ธ๋ผ์ฐ์ ๊ฒฐ๊ณผ ์ถ๋ ฅํ๋ ์ฝ๋๊ฐ ์์ธ๋ค๋ ๊ฒ์ ์๋ฏธ. (view+controller์์)
- ๋ชจ๋ธ2 - Servlet์ ์ฌ์ฉํ ๋ชจ๋ธ
- ์น ๋ธ๋ผ์ฐ์ ์์ฒญ์ ํ๋์ ์๋ธ๋ฆฟ์ด ์์ฒญ์ ๋ฐ์ ์๋ง๊ฒ ์ฒ๋ฆฌํ๋ค. ์ฒ๋ฆฌ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค JSPํ์ด์ง๋ก ํฌ์๋ฉํจ. ํฌ์๋ฉ ํตํด ์์ฒญ ํ๋ฆ ๋ฐ์ JSPํ์ด์ง๋ ๊ฒฐ๊ณผํ๋ฉด ํด๋ผ์ด์ธํธ์๊ฒ ์ ์ก. (์ด ๊ณผ์ ์์ ์๋ธ๋ฆฟ์ด ๋ก์ง ์ฒ๋ฆฌํจ)
- ํ๋์ ์๋ธ๋ฆฟ์ด ์น ๋ธ๋ผ์ฐ์ ์ ๋ชจ๋ ์์ฒญ ๋ฐ๊ธฐ ๋๋ฌธ์, ์๋ธ๋ฆฟ์ ์น ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ด ํ์.
- MVCํจํด ์ด์ฉํด์ ์น ์ดํ๋ฆฌ์ผ์ด์ ๊ตฌํํ ๋ ์ด ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํจ.
2. MVC์ปจํธ๋กค๋ฌ : ์๋ธ๋ฆฟ
โถ์ปจํธ๋กค๋ฌ ์๋ธ๋ฆฟ ๋ด๋ถ ๋์ ๋ฐฉ์
โถ ์๋ธ๋ฆฟ ๋์ ๊ณผ์ (++MVCํจํด ๊ตฌํ๊ณผ ํจ๊ป ์ค๋ช )
1. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ ์กํ HTTP์์ฒญ ๋ฐ์ - doGet()๋ฉ์๋ / doPost()๋งค์๋
2. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ค ์์ฒญ ํ๋์ง ๋ถ์
<parameter๋ก ๊ฐ๋ฐ์ ์์ฒญ ๋ถ์>
3. ๋ชจ๋ธ ์ฌ์ฉํด ์์ฒญ ๊ธฐ๋ฅ ์ํ
<์๋ธ๋ฆฟ ์ฌ์ฉํ ์์ฒญ๊ธฐ๋ฅ ์ํ ์์>
4. ๋ชจ๋ธ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฒฐ๊ณผ๋ฌผ ์๋ง๊ฒ ๊ฐ๊ณต ํ, request/session์ setAttribute()๋ฉ์๋ ์ฌ์ฉํด ๊ฒฐ๊ณผ๊ฐ ์์ฑ์ ์ ์ฅ.
<์๋ธ๋ฆฟ ์ฌ์ฉํ setAttribute์์>
5. ์น ๋ธ๋ผ์ฐ์ ์ ๊ฒฐ๊ณผ ์ ์กํ JSP(view)์ ํ ํ, ํด๋น JSP๋ก ํฌ์๋ฉ/๋ฆฌ๋ค์ด๋ ํธ
<์๋ธ๋ฆฟ ์ฌ์ฉํ forward์์>
3. ๋ชจ๋ธ๊ธฐ๋ฅ
'FOR SW ENGINEER๐ฉโ๐ป > JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JSP - ํํฐ(Filter) (0) | 2021.12.15 |
---|---|
JSP - Servlet (0) | 2021.12.10 |
JSP - ๋ถํธ์คํธ๋ฉ(BootStrap) ์ฌ์ฉ (0) | 2021.12.09 |
JSP - ์ปค์คํ ํ๊ทธ(Custom Tag) (1) | 2021.12.01 |
JSP - JSTL (ํ์ค ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ) (0) | 2021.11.29 |