1. MVC ํจํด์ด๋?
MVC๋ Model View Controller์ ์ฝ์๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ ๊ฐ์ง์ ์ญํ ๋ก ๊ตฌ๋ถํ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ด๋ค. ์๋์ ๊ทธ๋ฆผ์ฒ๋ผ ์ฌ์ฉ์๊ฐ Controller๋ฅผ ์กฐ์ํ๋ฉด Controller๋ Model์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๊ทธ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์๊ฐ์ ์ธ ํํ์ ๋ด๋นํ๋ View๋ฅผ ์ ์ดํด์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ.
2. M : Model
์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ณด, ๋ฐ์ดํฐ๋ฅผ ๋ํ๋
3. V : View
๋ฐ์ดํฐ ๋ฐ ๊ฐ์ฒด์ ์ ๋ ฅ ๊ทธ๋ฆฌ๊ณ ๋ณด์ฌ์ฃผ๋ ์ถ๋ ฅ์ ๋ด๋น (ํ๋ฉด)
4. C : Controller
๋ฐ์ดํฐ์ ์ฌ์ฉ์์ธํฐํ์ด์ค ์์๋ค์ ์๋ ๋ค๋ฆฌ ์ญํ
์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ํด๋ฆญํ๊ณ ์์ ํ๋ ๊ฒ์ ๋ํ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ
5. MVC ํจํด์ ์ฅ์ ์?
์๋ก ๋ถ๋ฆฌ๋์ด ๊ฐ์์ ์ญํ ์ ์ง์คํ ์ ์๊ฒ ๋ ํ์ฌ ๊ฐ๋ฐ์ ํ๊ณ ๊ทธ๋ ๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ ๋ค๋ฉด, ์ ์ง๋ณด์์ฑ, ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ์ฑ, ๊ทธ๋ฆฌ๊ณ ์ ์ฐ์ฑ์ด ์ฆ๊ฐํ๊ณ , ์ค๋ณต ์ฝ๋ฉ์ด๋ผ๋ ๋ฌธ์ ์ ๋ํ ์ฌ๋ผ์ง.
6. Spring MVCํจํด - User์ ์์ฒญ์ ๋ฐ๋ DispatcherServlet๊ฐ ํต์ฌ
Spring MVC๋ DispatcherServlet์ด ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋ค์ด์ค๋ ์์ฒญ์ ๋ชจ๋ ํธ๋ค๋งํ๊ธฐ ๋๋ฌธ์ web.xml์ ์ญํ ์ด ์ถ์
Model, View, Controlle ์ค๊ณ ์์ญ์ ๋ ธ๊ณจ์ ์ผ๋ก ๋ถํ ํ์ฌ ๋ฌด์กฐ๊ฑด MVC๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๊ณํ๋๋ก ์ ๋
model1 ๋ฐฉ์์ผ๋ก ํ ์์๊ณ , model2 ๋ฐฉ์์ผ๋ก ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ํ๊ฒฝ ๊ตฌ์ฑ
- model1 - ๋ทฐ์ ๋ก์ง์ ๋ชจ๋ JSPํ์ด์ง ํ๋์ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ
- model2 - JSPํ์ด์ง์ ์๋ธ๋ฆฟ, ๊ทธ๋ฆฌ๊ณ ๋ก์ง์ ์ํ ํด๋์ค๊ฐ ๋๋์ด ๋ธ๋ผ์ฐ์ ์์ฒญ์ ์ฒ๋ฆฌ
์ฆ, model2 = MVC ํํ๊ฐ ์์ ํ ๋์ผ
7. Spring MVCํจํด ๊ตฌ์กฐ
- ์ฌ์ฉ์์ ์์ฒญ์ Front Controller์ ์ ๋ฌ
- ์ ๋ฌ๋ ์์ฒญ์ ์ ์ ํ Controller๋ฅผ ์ฐพ์ ํธ์ถ
- Controller๋ ํด๋น Service๊ฐ์ฒด๋ฅผ ์ฐพ์ ํธ์ถ
- Service๊ฐ์ฒด๋ DAO ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์ํ๋ Data๋ฅผ ์์ฒญ
- DAO๊ฐ์ฒด๋ MyBatis๋ฅผ ์ด์ฉํ๋ Mapper๋ฅผ ํตํด ์์ ์ ์ํํ๋ค (C insert R read U update D delete)
- Service๋ฅผ ํตํด ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ Controller์ ์ ๋ฌ
- Controller๋ ๋ค์ ์คํ๋ง MVC ์ชฝ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ
'Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[springloaded] java file ์์ ํ tomcat ์ฌ์์ ์์ด ๋ฐ์ : ์ฌ๋ก๋ฉ ์์คํ (0) | 2021.03.23 |
---|---|
[eclipse] tomcat server ํ๋ก์ ํธ ์ ํ์ด์๋ ๊ฒฝ์ฐ (0) | 2021.03.22 |
Tomcat server.xml ํ์ผ UTF-8 ์ค์ (0) | 2021.03.18 |
[Spring] Spring Framework ์ด๋ ธํ ์ด์ Annotation ์ ๋ฆฌ (1) | 2020.09.02 |
[Spring] Spring Framework ์คํ๋ง ์ ์ ๋ฐ ํน์ง (2) | 2020.08.31 |