Spring MVC์ ํต์ฌ์ DispatcherServlet ์ด๋ค.
- ๋ชจ๋ ์์ฒญ์ ๋ํ ์๋ธ๋ฆฟ ํํฐ๊ฐ ์คํ๋๋ค (์ค์ ๋์ด์๋ค๋ฉด)
- ๋ชจ๋ ์์ฒญ์
DispatcherServlet์๊ฒ ์ ๋ฌ๋๋ค. DispatcherServlet์ ๋ฐ์ ์์ฒญ์ ๋ถ์ํ๋ค. (Common Service)- Locale, Theme, Multipart

HandlerMapping์ด ๋ฐํํ๋ HandlerExecutionChain๊ฐ์ฒด
DispatcherServlet์HandlerMapping์๊ฒ ์์ํ์ฌ ์์ฒญ์ ์ฒ๋ฆฌํHandler (Controller)๋ฅผ ์ฐพ๋๋ค.HandlerMapping์ ์์ฒญ URL์ ๋ณด๊ณHandler๋ฅผ ์ฐพ์์Handler์ ์ด๋ฆ๊ณผ ํจ๊ป ๋ฐํํ๋ค.- ์ด๋ ๋ฐํ๋๋ ๊ฒ์
HandlerExecutionChainํ์ ์ด๋ค. (handler๊ณผ ์ธํฐ์ ํฐ ๊ด๋ จ ์ํ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.)
DispatcherServlet์ ์ฐพ์๋ธHandler๋ฅผ ์คํํ ์ ์๋HandlerAdapter๋ฅผ ์ฐพ๋๋ค.- ์ฐพ์๋ธ
HandlerAdapter๋ฅผ ์ฌ์ฉํด์Handler๋ฅผ ์คํํ๋ค.- ์คํ ์ ์ ์ ์ฒ๋ฆฌ, ํ์ฒ๋ฆฌ๋ก ์คํํด์ผํ ์ธํฐ์ ํฐ ๋ชฉ๋ก์ ๊ฒฐ์ ํ๊ณ ์คํ์ํจ๋ค.
Handler๋ฅผ ์คํํ๋ฉด์ ๋น์ฆ๋์ค ๋ก์ง ๋ํ ์คํํ๋ค.Handler์ ๋ฆฌํด๊ฐ : View(๋ทฐ์ ํ์ผ๋ช ), Model(๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌํ ํ์ ๋ฐ์ดํฐ)
DispatcherServlet์ViewResolver์๊ฒView์ ์ด๋ฆ์ ์ ๋ฌํ๊ณView๊ฐ์ฒด๋ฅผ ์ป๋๋ค.- ๋ทฐ ์ด๋ฆ์ ํด๋นํ๋ ๋ทฐ์ ์ฐพ๋ ๋จ๊ณ
View Resolver๋ ์ ๋ต ๊ฐ์ฒด์ด๋ฉฐview name๋ฟ ์๋๋ผ ํค๋ ์ ๋ณด(accept)๋ ์ ๋ฌ๋๋ค.View Resolver๋ ์ ๋ฌ๋ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์คView๊ฐ ๋ฌด์์ธ์ง ๊ฒฐ์ ํ๋ค.
DispatcherServlet์View๊ฐ์ฒด์๊ฒModel๊ณผ ํจ๊ป ํ๋ฉด ํ์๋ฅผ ์๋ขฐํ๋ค.View๋ ํด๋นํ๋ ๋ทฐ๋ฅผ(ex. JSP, Thymleaf..) ํธ์ถํ๋ฉฐ,Model๊ฐ์ฒด์์ ํ๋ฉด ํ์์ ํ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ ํ๋ฉด ํ์๋ฅผ ์ฒ๋ฆฌํ๋ค.- ์ฐพ์ ๋ทฐ์ ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ๋๋๋งํ๊ณ ์์ฒญ์ ์๋ต๊ฐ์ ์์ฑํ๋ค.
DispatcherServlet์View๋ก๋ถํฐ ๋ฐ์ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐํํ๋ค.
DispatcherServlet์doDispatch๋ฅผ ๋ณด๋ฉด try-catch๋ฌธ์ ๋ณผ ์ ์๋ค.์ฆ, ์์ฒญ์ค ๋ฐ์ํ๋ ์์ธ๋ DispatcherServlet๊ฐ catch๋ฅผ ํด์ ์ฒ๋ฆฌํด์ค๋ค.
