์๋ธ๋ฆฟ(Servlet)
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ๋ ํ์ํ ์ธํฐํ์ด์ค
Spring Web MVC
Spring Framework์ ์๋ ๋ชจ๋. Web Service๋ฅผ ๋ง๋ ๋ค.
MVC ํจํด์ ์ฌ์ฉํด์.
์ฌ์ฉ์(์์ฒญ)์ ๋ฐ๋ผ ๋ค๋ฅธ ์ฒ๋ฆฌ๋ฅผ ํด์ค ์ ์๋ค.
๋์ ์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ค.
CGI๋ Web Server์ ํ๋ก๊ทธ๋จ ์ฌ์ด์ ๊ท์ฝ.
๊ทธ๋ฌ๋ CGI์๋ ๋ ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์๋ค. (์๋ ๊ทธ๋ฆผ์ ํ๋ก์ธ์ค์ ์ค๋ ๋์ ๋จ์ ์ค๋ช
๊ทธ๋ฆผ)
1) request๊ฐ ๋ค์ด์ฌ ๋ ๋ง๋ค ํ๋ก์ธ์ค๋ฅผ ๋ง๋ ๋ค.
=> ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด process๋ฅผ thread๋ก ๋ณํํด์ผ ํ ํ์์ฑ์ด ์์
2) request์ ๋ฐ๋ผ CGI ๊ตฌํ์ฒด๊ฐ ๋ณ๋๋ก ์์ฑ
=> ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฑ๊ธํค ํจํด์ผ๋ก ๋ณํํ์์
์๋ ๊ทธ๋ฆผ์ ์ด ๊ฐ์ ์ ์ ๋ณด์ํ ๊ฒ
์๋ธ๋ฆฟ ์ฝ๋
Web.xml(์ค์ ํ์ผ) Servelet Mapping
WAS์๊ฒ Servlet ๊ฐ์ฒด - URL mapping ์ ๋ณด๋ฅผ ์๋ ค์ค๋ค.
1) Request์ Parameter๋ฅผ ๋ฐ๋๋ค.
2) ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํ๊ณ
3) ๊ฒฐ๊ณผ๋ฅผ ๋ด์ View๋ฅผ ๋ง๋ค์ด์
4) Client์๊ฒ ์ ์กํ๋ค.
Spring Web MVC์์๋ Servlet๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ ๊น?
Dispatcher Servlet์ ์ฌ์ฉํ๋ค. ๋จผ์ ์ ์ฒด๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.
1) ๋ชจ๋ ์์ฒญ์ Dispatcher Servlet์ผ๋ก ๋ณด๋ธ๋ค.
2) ์์ฒญ์ ๋ฐ๋ผ ์ ์ ํ Controller๋ฅผ ์ฐพ๋๋ค. (Handler๋ Controller๋ณด๋ค ์์ ๊ฐ๋ )
3) ์ด๋ค ๋ฐฉ์์ Handler Mappiing์ ์ฌ์ฉํ ์ง ์ค์ ํ์ผ์ ์ ์ฅํ๋ค.
4) HandlerMapping์์ ์ฐพ์ Handelr(Controller)์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค. ModelAndViewํํ๋ก ๋ฐ๊ฟ์ค๋ค. (Data์ ํด๋นํ๋ Model, Data๋ฅผ ๋๊ธธ Page์ ํด๋นํ๋ View, ๋ณดํต View์ ๋ ผ๋ฆฌ์ ์ธ ์ด๋ฆ๋ง return ํด์ค๋ค.)
5) View ์ด๋ฆ์ผ๋ก ์ค์ View ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
6) View์ Model(data)๋ฅผ ํฌํจํ๋ค.