์๋ฆฌ๋ฅผ ์์์ผ ํต์ฌ์ด ๋ณด์ธ๋ค!
๊น์ํ์ ์คํ๋ง MVC ํ์ฉํธ ๐จโ๐ป
๐ ์๊ฐ ์ ํ์ธํด์ฃผ์ธ์!
- ๋ณธ ๊ฐ์๋ ์๋ฐ ์คํ๋ง ์์ ์ ๋ณต ์๋ฆฌ์ฆ์ ๋ค์ฏ ๋ฒ์งธ ๊ฐ์์
๋๋ค. ์ฐ์ํํ์ ๋ค ์ต์ฐ์ ๊ธฐ์ ์ด์ฌ ๊น์ํ์ ์คํ๋ง ์์ ์ ๋ณต ๋ก๋๋งต์ ๋จผ์ ํ์ธํด์ฃผ์ธ์. (๋ฐ๋ก๊ฐ๊ธฐ)
๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์น ํ๋ ์์ํฌ
ํ๋์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋๋ถ๋ถ ์น ํ๊ฒฝ์์ ๋์ํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค. ์๋ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ์ด๋ฌํ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋, ๋๋ถ๋ถ ์คํ๋ง MVC๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์คํ๋ง MVC๋ ๋ณต์กํ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๊ฒ ๋์์ฃผ๋, ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์น ํ๋ ์์ํฌ์
๋๋ค.
๋ฐฑ์๋ ์น ๊ธฐ์ ์ ํ์ตํ๊ธฐ ์ด๋ ค์ด ์ด์
์๋ฐ ๋ฐฑ์๋(Java Backend) ์น ๊ธฐ์ ์ ๋งค์ฐ ๋ฐฉ๋ํ๊ณ ๊ณต๋ถํ ๋ถ๋๋ ๋ง์ต๋๋ค. ํนํ ์คํ๋ง MVC๋ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ ๋ง๊ณ , ๊ตฌ์กฐ๋ ๋ณต์กํฉ๋๋ค. ์ด๋ฌํ ์น ๊ธฐ์ ์ ์ ๋๋ก ํ์ตํ๊ธฐ ์ํด์๋ ์คํ๋ง MVC์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋จผ์ ์ดํดํ๊ณ , ๊ทธ ๊ธฐ๋ฐ ์์ ๋ฐฉ๋ํ ์น ํ์ฉ ๊ธฐ์ ๋ค์ ํ๋์ฉ ์ ๋ณตํด์ผ ํฉ๋๋ค.
โ
์ ์ ์ง์์ ํ์ธํด์ฃผ์ธ์.
์ง๋ ๊ฐ์์ธ <์คํ๋ง MVC 1ํธ>์ ํตํด ์น ๊ฐ๋ฐ์ ํ์ํ ์คํ๋ง MVC์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋์ง ํ์ธํด์ฃผ์ธ์.
1. ์๋ฐ ์น ๊ธฐ์ ์ ์์๋ถํฐ ์ต์ ์ค๋ฌด ๊ธฐ์ ๊น์ง
2. MVC ํ๋ ์์ํฌ๋ฅผ ์ง์ ์ฝ๋๋ก ๊ฐ๋ฐ
๊ฐ์ ๋ชฉํ
์ง๊ธ๊น์ง ์๋ฐ ๋ฐฑ์๋ ๋ฐ ์คํ๋ง MVC ๊ธฐ๋ฐ ๊ธฐ์ ์ ํ์ตํด ์์ต๋๋ค. ์ด๋ฒ ๊ฐ์์์๋ ์ง๊ธ๊น์ง ํ์ตํ ๊ธฐ๋ฐ ์์ ์ค๋ฌด์ ๊ผญ ํ์ํ ํ์ฉ ๊ธฐ์ ์ ๋ฐฐ์๋๋ค.
<์คํ๋ง MVC 2ํธ> ๊ฐ์์์๋
์คํ๋ง MVC 2ํธ์์๋ 1ํธ์์ ํ์ตํ ์คํ๋ง MVC์ ๊ธฐ๋ฐ ์์ ์ค๋ฌด์ ๊ผญ ํ์ํ ๋ทฐ ํ
ํ๋ฆฟ, ๋ฉ์์ง, ๊ตญ์ ํ, ๊ฒ์ฆ, ์ฟ ํค, ์ธ์
, ํํฐ, ์ธํฐ์
ํฐ, ์์ธ ์ฒ๋ฆฌ, ํ์
์ปจ๋ฒํฐ, ํ์ผ ์
๋ก๋์ ๊ฐ์ ๋ฐฉ๋ํ ์น ํ์ฉ ๊ธฐ์ ์ ์์ ๋ฅผ ํตํด ์์ ํ ์ ๋ณตํ ์ ์์ต๋๋ค.
์คํ๋ง MVC์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ ์์ ๋ฐฉ๋ํ ์น ํ์ฉ ๊ธฐ์ ์ ์ค์ ์์ ์ฝ๋๋ฅผ ํตํด ์์ฑํด ๋ณด๊ณ , ๋ ๊น์ด์๋ ๋ฐฑ์๋ ์น ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ ์ ์๋๋ก ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค.
- ๋ชฉํ: ์ค๋ฌด ๋ฐฑ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋ ํ์ํ ๋ชจ๋ ์น ๊ธฐ์ ์ ์์ฑํ๋ ๊ฒ์ด ์ด ๊ฐ์์ ๋ชฉํ์
๋๋ค.
- ์น ๊ธฐ์ด๋ถํฐ ์ค๋ฌด๊น์ง: ์ค๋ฌด ๊ฐ๋ฐ์ ์ํ ๋ด์ฉ์ด ๋ง์ง๋ง, ์น ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ ๊ฒฝํ์ด ์๋ ๊ฐ๋ฐ์๋ ์ ์ํ ์ ์๊ฒ ๋จ๊ณ์ ์ผ๋ก ๊ตฌ์ฑํ์์ต๋๋ค. (์คํ๋ง MVC 1ํธ์ ๋จผ์ ๋ฃ๊ณ 2ํธ์ ํ์ตํด์ผ ํฉ๋๋ค.)
- ๊ฐ๋
๋ถํฐ ํ์ฉ๊น์ง: ๋จ์ํ ๊ธฐ์ ์ ์ฌ์ฉ๋ฒ์ ์ค๋ช
ํ๋ ๊ฒ์ด ์๋๋ผ, ์ด ๊ธฐ์ ์ด ์ ํ์ํ๊ณ ์ด๋ป๊ฒ ๋์๋์ง ํต์ฌ ์๋ฆฌ์ ํ์ฉ ๋ฐฉ์์ ํจ๊ป ์ค๋ช
ํฉ๋๋ค.
- ์ค๋ฌด ์์ ์ค์ฌ: ์ค๋ฌด์์ ์คํ๋ง์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋ ํ์ํ ๋ชจ๋ ๊ณผ์ ์ ์์ ๋ฅผ ํตํด ์์ฐ์ค๋ฝ๊ฒ ํ์ตํ๋ฉฐ, ์ค๋ฌด ๋ฒ ์คํธ ํ๋ํฐ์ค๋ฅผ ์ ์ํด๋๋ฆฝ๋๋ค.
- ๊ฐ๊ฒฐํจ: ์ค๋ฌด์์ ์ฌ์ฉํ์ง ์๋ ์ค๋๋ ์คํ๋ง MVC ๊ธฐ๋ฅ์ ๊ณผ๊ฐํ๊ฒ ์ ์ธํ์ต๋๋ค. ์ต์ ์ค๋ฌด์ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ด์ฉ ์ค์ฌ์ผ๋ก ์ค๋ช
ํฉ๋๋ค.
์ถ์ฒ ํ์ต์
์คํ๋ง MVC๋ฅผ
์ฒ์ ์ ํ๋ ๊ฐ๋ฐ์
๋ฐฑ์๋ ๊ฐ๋ฐ์
์ทจ์
์ค๋น์
์คํ๋ง MVC๋ฅผ ๊น๊ฒ
์ดํดํ๊ณ ํ ํ์
๊ฐ๋ฐ์
์คํ๋ง์ผ๋ก ์น ์ฑ์
๋ง๋ค๊ณ ์ถ์ ๊ฐ๋ฐ์
๋ค๋ฃจ๋ ๋ด์ฉ
ํ์๋ฆฌํ
ํ์๋ฆฌํ(Thymeleaf)๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ฒ ์ฌ์ด๋ ๋ทฐ(Server-Side View) ํ
ํ๋ฆฟ์
๋๋ค. ํ์๋ฆฌํ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณ๋์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ์์ด๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ง์ผ๋ก ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋์ ์ธ HTML์ ๋ง๋ค ์ ์์ต๋๋ค.
๊ฐ์์์๋ ํ์๋ฆฌํ์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ถํฐ, ์คํ๋ง๊ณผ ํตํฉ, ์ฒดํฌ ๋ฐ์ค, ๋ผ๋์ค ๋ฒํผ, ์
๋ ํธ ๋ฐ์ค์ ๊ฐ์ ๋ณต์กํ ํผ ๊ด๋ฆฌ ๊ธฐ๋ฅ๊น์ง ๋ชจ๋ ๊ฒ์ ์์ ๋ฅผ ํตํด์ ๋ง๋ค์ด๊ฐ๋ฉฐ ํ์ตํฉ๋๋ค.
๋ฉ์์ง, ๊ตญ์ ํ
์น ์ ํ๋ฆฌ์ผ์ด์
์ด ํฌ๊ณ ๋ณต์กํด์ง์๋ก, ์ฌ์ฉํ๋ ๋ค์ํ ๋ฉ์์ง๋ค์ ์ผ๊ด์ฑ ์๊ฒ ํ ๊ณณ์์ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด์ โ์ํ๋ช
โ์ด๋ผ๋ ๋จ์ด๋ฅผ โ์ํ ์ด๋ฆโ์ด๋ผ๋ ๋จ์ด๋ก ๊ณ ์น๋ ค๋ฉด ์๋ง์ ํ์ผ์ ์์ค์ฝ๋๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ์คํ๋ง์ด ์ ๊ณตํ๋ ๋ฉ์์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ด๋ฐ ๊ฒ์ ํ๋ฒ์ ๊ด๋ฆฌํ๊ณ ์์ ํ ์ ์์ต๋๋ค.
๊ตญ์ ํ๋ ์์ด๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋์๊ฒ๋ ์ฌ์ดํธ๊ฐ ์์ด๋ก ๋์ค๊ณ , ํ๊ตญ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋์๊ฒ๋ ์ฌ์ดํธ๊ฐ ํ๊ตญ์ด๋ก ๋์ค๋ ๊ธฐ๋ฅ์
๋๋ค. ์คํ๋ง์ ์ด๋ฏธ ์ด๋ฌํ ๊ตญ์ ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ์์์๋ ์คํ๋ง์ด ์ ๊ณตํ๋ ๋ฉ์์ง์ ๊ตญ์ ํ ๊ธฐ๋ฅ์ ์ค์ ์์ ๋ฅผ ํตํด์ ๋จ๊ณ์ ์ผ๋ก ํ์ตํฉ๋๋ค.
๊ฒ์ฆ(Validation)
๊ณ ๊ฐ์ด ํ์ ๊ฐ์
์ ํ ๋ ์
๋ ฅ ํผ์ ์๋ชป๋ ๊ฐ์ ์
๋ ฅํด์ ์๋ฒ์ ์ ์กํ๋ค๋ฉด, ์๋ฒ๋ ๊ทธ ๊ฐ์ ๊ฒ์ฆํ๊ณ ๊ณ ๊ฐ์๊ฒ ๋ค์ ์
๋ ฅ ํผ์ ๋ณด์ฌ์ฃผ๋ฉด์ ์ด๋ค ๋ถ๋ถ์ด ์๋ชป ์
๋ ฅ๋์๋์ง ์น์ ํ๊ฒ ์๋ดํด์ผ ํฉ๋๋ค. ์ด๋ฐ ๋ฐฉ์์ ๋ชจ๋ ์น ์๋น์ค์ ๊ผญ ํ์ํ ๊ธฐ๋ฅ์
๋๋ค.
๊ฐ์์์๋ ๋จผ์ ์ด๋ฌํ ๊ฒ์ฆ ๊ธฐ๋ฅ์ ์ง์ ๊ฐ๋ฐํด ๋ด
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ๋ง์ด ์ ๊ณตํ๋ ๊ฒ์ฆ ๊ธฐ๋ฅ๋ ์ฌ์ฉํด๋ณด๊ณ , ๋ ๋์๊ฐ์ ์ด๋
ธํ
์ด์
(Annotation) ํ๋๋ก ๋งค์ฐ ํธ๋ฆฌํ๊ฒ ๊ฒ์ฆ ๊ธฐ๋ฅ์ ์ํํ๋ Bean Validation ๊ธฐ๋ฅ๊น์ง ์์ ๋ฅผ ํตํด ๋จ๊ณ์ ์ผ๋ก ํ์ตํฉ๋๋ค.
์ฟ ํค, ์ธ์
HTTP๋ ๋ฌด์ํ ํ๋กํ ์ฝ์
๋๋ค. ๋ฐ๋ผ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ ์งํ๋ ค๋ฉด ์ฟ ํค์ ์ธ์
๊ณผ ๊ฐ์ ๊ฐ๋
์ด ํ์ํฉ๋๋ค. ๊ฐ์์์๋ ๋จผ์ ์ฟ ํค๋ง์ผ๋ก ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ด
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๋ณด์ ๋ฌธ์ ์ ๋ค์ด ์๋์ง ํ์ธํ ๋ค์์ ์ธ์
์ ์ง์ ๋ง๋ค๊ณ ์ ์ฉํด๋ด
๋๋ค.
์ด๋ ๊ฒ ์ธ์
์ ์ง์ ๋ง๋๋ ๊ณผ์ ์ ํตํด์ ์ฟ ํค์ ์ธ์
์ ๋์ ๋ฐฉ์์ ๊น์ด์๊ฒ ์ดํดํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ๋ก ์๋ธ๋ฆฟ์ด ์ ๊ณตํ๋ ์ธ์
์ ํ์ตํ๊ณ ์ ์ฉํด๋ด
๋๋ค.
ํํฐ, ์ธํฐ์
ํฐ
์๋ธ๋ฆฟ์ด ์ ๊ณตํ๋ ํํฐ(Filter)์ ์คํ๋ง์ด ์ ๊ณตํ๋ ์ธํฐ์
ํฐ(Interceptor)๋ฅผ ์์ ๋ฅผ ํตํด์ ํ์ตํฉ๋๋ค.
๋จผ์ ๊ฐ์ฅ ๋จ์ํ ๋ชจ๋ HTTP ์์ฒญ์ ๋ก๊ทธ๋ก ๋จ๊ธฐ๋ ๊ธฐ๋ฅ์ ํํฐ์ ์ธํฐ์
ํฐ๋ก ๋ง๋ค์ด๋ณด๊ณ , ์ดํ ์ธ์ฆ ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ฅ๋ ํํฐ์ ์ธํฐ์
ํฐ๋ก ๋ง๋ค์ด๋ด
๋๋ค. ์ด๋ ๊ฒ ๋์ ํจ๊ป ์ฌ์ฉํด๋ณด๋ฉด์ ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ ๋ช
ํํ ์ดํดํ ์ ์์ต๋๋ค.
์์ธ ์ฒ๋ฆฌ
์น ์ ํ๋ฆฌ์ผ์ด์
์ ํ์ตํ ๋ ๊ฐ์ฅ ์ดํดํ๊ธฐ ์ด๋ ค์ด ๋ถ๋ถ์ด ๋ฐ๋ก ์ด ์์ธ ์ฒ๋ฆฌ(Exception Handling)์
๋๋ค. ์๋ํ๋ฉด ์๋ธ๋ฆฟ ์ปจํ
์ด๋(WAS)์ ์คํ๋ง MVC๊ฐ ๊ฐ๊ฐ ๋๋ฆ์ ์์ธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก๋ ์ด ๋์ด ์์ฌ์ ๋ณต์กํ๊ฒ ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์ด ๋์ํฉ๋๋ค. ๊ทธ๋์ ์ปจํธ๋กค๋ฌ์์ ์์ธ๊ฐ ๋ฐ์ํ์ ๋ ์คํ๋ง๊ณผ ์๋ธ๋ฆฟ ์ปจํ
์ด๋๊ฐ ๊ฐ๊ฐ ๋ด๋ถ์์ ์ด๋ป๊ฒ ๋์ํ๋์ง ๊ฐ๋ฐ์๊ฐ ์ ํํ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ๊ธฐ๋ ๋งค์ฐ ์ด๋ ต์ต๋๋ค.
๊ฐ์์์๋ ์๋ธ๋ฆฟ ์ปจํ
์ด๋์ ์์ธ ์ฒ๋ฆฌ๋ถํฐ ์คํ๋ง MVC์ ์์ธ ์ฒ๋ฆฌ๊น์ง ํ๋์ฉ ๋จ๊ณ์ ์ผ๋ก ํ์ด์ ์ค๋ช
ํด ๋๋ฆฝ๋๋ค. ๊ทธ๋์ ๊ฐ์๋ฅผ ๋ฃ๊ณ ๋๋ฉด ์ค์ ์์ธ๊ฐ ๋ฐ์ํ์ ๋ ์๋ฒ ๋ด๋ถ์์ ์ด๋ป๊ฒ ๋์ํ๊ณ , ์ด๋ค ์ง์ ์ ๋ณ๊ฒฝํด์ผ ํ ์ง ๋ช
ํํ ์ดํดํ ์ ์์ต๋๋ค. ์ถ๊ฐ๋ก API๋ฅผ ์ฌ์ฉํ ๋์ ์์ธ ์ฒ๋ฆฌ๋ ํจ๊ป ์ค๋ช
ํฉ๋๋ค.
์คํ๋ง ํ์
์ปจ๋ฒํฐ
๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํํ๊ฑฐ๋, ๋ฐ๋๋ก ์ซ์๋ฅผ ๋ฌธ์๋ก ๋ณํํด์ผ ํ๋ ๊ฒ ์ฒ๋ผ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ํ์
์ ๋ณํํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด์ HTTP ์์ฒญ์์ ๋ฌธ์ "10"์ด ์ ๋ฌ๋์ด๋ ์คํ๋ง์์๋ @RequestParam์ผ๋ก Integer ํ์
์ธ ์ซ์ 10์ผ๋ก ๋ฐ์ ์ ์์ต๋๋ค. ์คํ๋ง์ ํ์
์ปจ๋ฒํฐ๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ ์ผ๊ด์ฑ ์๋ ํ์
๋ณํ์ ์ง์ํฉ๋๋ค.
ํ์
์ปจ๋ฒํฐ๋ ์คํ๋ง์ ํ์ตํ๋ฉด ๋ง์ด ์ธ๊ธ๋๋ ๋ด์ฉ์ด์ง๋ง, ์ค์ ์ด๋ป๊ฒ ์๋ํ๋์ง ๊น์ด์๊ฒ ์ดํดํ๊ธฐ๋ ์ฝ์ง ์์ต๋๋ค. ๊ฐ์๋ฅผ ํตํด ํ์
์ปจ๋ฒํฐ์ ๊ธฐ๋ณธ์์ ํ์ฉ๊น์ง ์์ ๋ฅผ ํตํด ๋จ๊ณ์ ์ผ๋ก ์ดํดํ ์ ์์ต๋๋ค.
ํ์ผ ์
๋ก๋
์ธํฐ๋ท์๋ ์๋ง์ ํ์ผ ์
๋ก๋ ์์ ๋ค์ด ์์ต๋๋ค. ๊ฐ์์์๋ ๋จ์ํ ํ์ผ ์
๋ก๋์ ๊ธฐ๋ฅ์ ์ค๋ช
ํ๋ ๊ฒ์ ๋์ด์, ํ์ผ ์
๋ก๋๋ฅผ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ ๊น์ด์๊ฒ ์ค๋ช
ํ๊ณ ์ด๋ค ์๋ฆฌ๋ก HTTP์์ ํ์ผ ์
๋ก๋๊ฐ ๊ฐ๋ฅํ์ง ์ค๋ช
ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ผ ์
๋ก๋ ๊ธฐ๋ฅ์ ์๋ธ๋ฆฟ๋ถํฐ ์์ํด์ ์คํ๋ง์ด ์ ๊ณตํ๋ ํธ๋ฆฌํ ๋ฐฉ์์ ํ์ผ ์
๋ก๋๊น์ง ์์ ๋ฅผ ํตํด ๋จ๊ณ์ ์ผ๋ก ํ์ตํฉ๋๋ค.
์คํ๋ง MVC ๊ฐ์ ๊ตฌ์ฑ
์คํ๋ง MVC ๊ฐ์๋ 2ํธ์ผ๋ก ๋๋์ด์ ธ ์์ต๋๋ค.
๋ณธ ๊ฐ์๋ ์คํ๋ง MVC 2ํธ -
๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํ์ฉ ๊ธฐ์ ์
๋๋ค.
์๋ฐ ์น ๊ธฐ์ ๊ณผ ์คํ๋ง MVC์ ํต์ฌ ๊ฐ๋
์ ๋ค์ง๊ณ , ์คํ๋ง MVC์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ดํดํฉ๋๋ค.
1ํธ์ ๋จผ์ ์๋ฐ ๋ฐฑ์๋ ์น ๊ธฐ์ ์ ์๊ฐํ๊ณ , ์๋ธ๋ฆฟ, JSP, MVC ํจํด, MVC ํ๋ ์์ํฌ๊น์ง ์น ๊ธฐ์ ์ ๋ฐ์ ํ์ตํฉ๋๋ค. ์ด๋ ๊ฒ ์น ๊ธฐ์ ์ ๋ฐฐ๊ฒฝ์ ์ดํดํ ๋ค์์ ์คํ๋ง MVC์ ํต์ฌ ๊ฐ๋
์ ๋จ๋จํ ๋ค์ง๋๋ค. ์ดํ ์คํ๋ง MVC์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ ๊ธฐ๋ฅ์ ํ์ตํ๊ณ , ์คํ๋ง MVC๋ฅผ ์ฌ์ฉํด์ ๊ธฐ๋ณธ CRUD๊ฐ ๊ฐ๋ฅํ ์น ํ์ด์ง๋ ๊ฐ๋ฐํฉ๋๋ค.
์คํ๋ง MVC์ ๋ค์ํ ํ์ฉ ๊ธฐ์ ์ ํ์ตํฉ๋๋ค.
2ํธ์ ํ์๋ฆฌํ, ๋ฉ์์ง, ๊ตญ์ ํ, ๊ฒ์ฆ(Validation), ์ฟ ํค, ์ธ์
, ํํฐ, ์ธํฐ์
ํฐ, ์์ธ ์ฒ๋ฆฌ์ ๊ณตํต ๊ธฐ๋ฅ, ํ์ฅ ํฌ์ธํธ ๋ฑ ํ๋์ ์์ ๋ฅผ ์ ์ง์ ์ผ๋ก ๋ฐ์ ์ํค๋ฉด์, ์คํ๋ง MVC์ ๋ค์ํ ํ์ฉ ๊ธฐ์ ์ ์ฝ๋๋ก ํ์ตํฉ๋๋ค.
์์ผ๋ก ์ด์ด์ง
์คํ๋ง ์์ ์ ๋ณต ์๋ฆฌ์ฆ
์คํ๋ง์ ์์ ํ ๋ง์คํฐํ ์ ์๋ ์๋ฆฌ์ฆ๋ฅผ ์ค๋นํ๊ณ ์์ต๋๋ค. ์ค์ ์ค๋ฌด์์ ์ฌ์ฉํ๋ ํต์ฌ ์คํ๋ง ๊ธฐ๋ฅ์ ์ค์ฌ์ผ๋ก, ์ค๋ฌด์์ ์ฐ์ด์ง ์๊ฑฐ๋ ์ค๋๋ ๊ธฐ๋ฅ์ ๊ณผ๊ฐํ๊ฒ ์๋ตํ ์ค๋ฌด ๋
ธํ์ฐ๋ฅผ ์ ์ํด๋๋ฆด ์์ ์
๋๋ค.
๊ฐ์ ์์
์ฐ๊ด ๋ก๋๋งต