MVC ํจํด์ Model1 ๊ณผ Model2 ๋ก ๋๋ ์ ์๋ค.
ํด๋ผ์ด์ธํธ์ ์์ฒญ๊ณผ ์๋ต์ JSP๊ฐ ๋ด๋นํ๋ ๊ตฌ์กฐ
ํด๋ผ์ด์ธํธ์ ์์ฒญ,์๋ต,๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ ๋ชจ๋ํ์ํจ ๊ตฌ์กฐ
์คํ๋ง ํ๋ ์์ํฌ, ์คํ๋ง์ด ์ ๊ณตํ๋ ํธ๋์ญ์ ์ฒ๋ฆฌ, DI, AOP, ํ๋ ์์ํฌ๋ฅผ ์ฝ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญ ํ๋ฉด DispatcherServlet ํด๋์ค๊ฐ ์์ฒญ์ ๋ฐ๋๋ค.
DispatcherServlet (front Controller) = web.xml
DispatcherServlet์ ํ๋ก์ ํธ ํ์ผ ๋ด servlet-context.xml ํ์ผ์ @Controller ๋ฅผ ํตํด ๋ฑ๋กํ ์์ฒญ์ ์์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฐพ์์ mapping ์ปจํธ๋กค๋ฌ๊ฐ ์กด์ฌํ๋ค๋ฉด @RequestMapping์ ํตํด์ ์์ฒญ์ ์ฒ๋ฆฌํ ๋ฉ์๋๋ก ์ด๋ํ๋ค.
๊ธฐ์กด์๋ @WebServlet์์ urlPattern์ ์ฌ์ฉํด์ฃผ๊ณ Component์ ๋น ์ด๋ฆ์ผ๋ก URL์ ์์ฑํ์ง๋ง
@RequestMapping๋ฅผ ์ฌ์ฉํด์ ํธ๋ฆฌํ๊ฒ Controller ๊ตฌํ์ด ๊ฐ๋ฅํด์ก๋ค.
Controller๋ ํด๋น ์์ฒญ์ ์ฒ๋ฆฌํ Service๋ฅผ ๋ฐ์์ ๋น์ฆ๋์ค ๋ก์ง์ ์๋น์ค์ ์์ํ๋ค.
Service๋ ์์ฒญ์ ํ์ํ ์์ ์ ์ํํ๊ณ , ์์ฒญ์ ๋ํด DB์ ์ ๊ทผํด์ผํ๋ ๊ฒฝ์ฐ DAO์ ์์ฒญํ์ฌ ์ฒ๋ฆฌ๋ฅผ ์์ํ๋ค.
DAO๋ DB์ ๋ณด๋ฅผ Service์ ์ ๋ฌํ๋ค.
Service๋ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ Controller์ ์ ๋ฌํ๋ค.
Controller๋ Model ๊ฐ์ฒด์๊ฒ ์์ฒญ์ ๋ง๋ View ์ ๋ณด๋ฅผ ๋ด์์ DispatcerServlet์ ์ ์กํ๋ค.
DispatcerServlet์ ViewResolver์๊ฒ ์ ๋ฌ๋ฐ์ View ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค.
ViewResolver๋ ์๋ตํ View์ ๋ํ JSP๋ฅผ ์ฐพ์์ DispatcherServlet์ ์ ๋ฌํ๋ค.
DispatcerServlet์ ์๋ตํ View์ Render๋ฅผ ์ง์ํ๊ณ View๋ ๋ก์ง์ ์ฒ๋ฆฌํ๋ค.
DispatcerServlet์ ํด๋ผ์ด์ธํธ์๊ฒ Rendering๋ View๋ฅผ ์๋ตํ๋ฉด์ ์์ฒญ์ฒ๋ฆฌ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ค.
- @Controller
- ์คํ๋ง์ด ์๋์ผ๋ก ์คํ๋ง ๋น์ผ๋ก ๋ฑ๋กํ๋ค.
- ์คํ๋ง MVC์์ ์ด๋ ธํ ์ด์ ๊ธฐ๋ฐ Controller๋ก ์ธ์- @RequestMapping
- ์์ฒญ ์ ๋ณด๋ฅผ ๋งคํ, ํด๋น URL์ด ํธ์ถ๋๋ฉด ์ด ๋ฉ์๋๊ฐ ํธ์ถ๋๋ค.- ModelAndView
- ๋ชจ๋ธ๊ณผ ๋ทฐ ์ ๋ณด๋ฅผ ๋ด์์ ๋ฐํ
์ฐธ๊ณ
์ด๋ฏธ์ง ์ถ์ฒ
https://nickjoit.tistory.com/9
https://velog.io/@alghrksl/Spring-MVC1-MVC2-SpringMVC-%EC%B0%A8%EC%9D%B4%EC%A0%90%EA%B3%BC-%EA%B5%AC%EC%A1%B0
https://iri-kang.tistory.com/4ใ