Spring์ผ๋ก Servlet์ ๋ค๋ฃฌ๋ค๋ ๊ฒ
1. ์๋ธ๋ฆฟ์ด๋
์๋๋ ์๋ธ๋ฆฟ์ผ๋ก ์์ฒญ์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ ์ ์๋ http servlet request๊ฐ ์ ๊ณตํ๋ ๋ฉ์๋์ ์ผ๋ถ
์๋ธ๋ฆฟ์ ์ด์ฉํด์ ์น์์ฒญ(HTTP ์์ฒญ ๋ฐ ์๋ต)์ ๋ค๋ฃจ๊ฒ ๋๋ฉด ๊ฐ๋ฐ์๋ค์ด ์ง์ง ์ง์คํด์ผ ํ๋ ๋น์ฆ๋์ค ๋ก์ง(์ฒ๋ฆฌ ๋ก์ง)์ ๋ ์ง์คํ ์ ์๊ฒ ๋๋ค.
์๋ธ๋ฆฟ ์์ฑ์ init, ์ข ๋ฃ๋ destroy
2. ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ์๋ธ๋ฆฟ ๋์ ๋ฐฉ์
.. Response๋ Request ๋์ฒด๋ ์์ฑํ๊ณ ์๋ฉธ์์ผฐ๋๋ฐ ์๋ธ๋ฆฟ์ ์์ฑ๋ง ํ๊ณ ์๋ฉธ์ํค๋ ๋์์ ํ์ง ์๋๋ค. ์๋ธ๋ฆฟ์ด ์ฑ๊ธํค ํจํด์ผ๋ก ๊ด๋ฆฌ๊ฐ ๋์ด์ ๊ทธ๋ ๋ค. ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ ์๋ฉธํ์ง ์๊ณ ์๋ค๊ฐ ๋ค์ ์์ฒญ์ด ๋ค์ด์์ ๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ์ํด์ ๋ ํธ์ถ๋์ ์ฌ์ฉ๋๋ ๊ฒ.
์๋ธ๋ฆฟ ์ปจ์ฒด์ด๋๋ ์๋ธ๋ฆฟ์ ์๋ช ์ฃผ๊ธฐ(๋ผ์ดํ ์ฌ์ดํด)๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด์ด๋ค.
์ฌ๋ฌ ๊ฐ์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ๋ฉํฐ์ค๋ ๋๋ก ์์ฒญ์ ์ฒ๋ฆฌํ์ง๋ง. ์ฌ๋ฌ ๋จ์ ๋ค์ด ์๋ค.
3. ํ๋ก ํธ ์ปจํธ๋กค๋ฌ ํจํด
4. Dispatche Servelt์ ์์ฒญ ์ฒ๋ฆฌ ๊ณผ์
๋ง์ด ์ฝ์ง ๋ค ์ธํฐํ์ด์ค๋ค์ด๊ณ ๊ตฌํ์ฒด๊ฐ ๋ง๋ค.
๊ฐ๋ฐ์๋ค์ด ์ง์คํด์ผ ํ ๋ถ๋ถ์ ๋ ธ๋์ ๋ถ๋ถ. ๋นจ๊ฐ์ ๋ถ๋ถ์ ๋์คํจ์ฒ์๋ธ๋ฆฟ์ด ์คํ๋ง ์ปจํ ์ด๋๋ก๋ถํฐ ์ฃผ์ ๋ฐ์ ์๋ํ๊ฒ ๋๋ค.
5. ์คํ๋ง ์ปจํ ์ด๋ ๋ง๋ณด๊ธฐ
๊ฒฐ๊ตญ ์คํ๋ง์ผ๋ก ์น ์์ฒญ์ ์ฒ๋ฆฌํ๋ค๋ ๊ฒ์ ์คํ๋ง MVC์์ ์ ๊ณตํ๋ ๋์คํจ์ฒ์๋ธ๋ฆฟ๊ณผ ์น ์์ฒญ ์ฒ๋ฆฌ ๊ด๋ จ ๊ตฌํ์ฒด๋ค์ ์ฌ์ฉํ ์ ์๋ค๋ ์ด์ผ๊ธฐ์ ๋์์ ์คํ๋ง ์ปจํ ์ด๋, ์ฆ ์คํ๋ง IoC๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋ฐํ ์ ์๋ค๋ ์ด์ผ๊ธฐ์ด๋ค.
๊ทธ๋์ ์ต์ข ์ ์ธ ๋ชฉ์ ์ ๊ฐ๋ฐ์๋ก ํ์ฌ๊ธ ํธ๋ค๋ฌ, ๊ทธ๋ฌ๋๊น ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ ๋ ์ง์คํด์ผ ํ๋ ์์ฒญ์ฒ๋ฆฌ ๋ก์ง๋ค์๋ง ์ ๊ฒฝ์ ์ธ ์ ์๋๋ก ํ๊ธฐ ์ํจ์.