Servlet Container๋ ServletContext๋ฅผ ์์ฑํ๋ค. ServletContext๋ Server ๋๋ Servlet Container์ ๋ฉ๋ชจ๋ฆฌ๋ก ์๋ํ๊ณ web.xml ํน์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ์๋ธ๋ฆฟ, ํํฐ, ๋ฆฌ์ค๋๋ฅผ ๊ธฐ์ตํ๋ค.
Servlet Context์ Servlet Container์ ์ฐจ์ด์
์๋ธ๋ฆฟ ์ปจํ ์คํธ์ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์๋ฐ ์๋ธ๋ฆฟ API์ ๊ด๋ จ ๊ฐ๋ ์ด๋ฉฐ, ServletContainer๋ฅผ ์ค์ง ๋ฐ ์ข ๋ฃ์ ๊น์ง ServletCotext๋ ServletContainer์ ํจ๊ป ์ ์ง๋๋ค.
์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์๋ธ๋ฆฟ์ด ์คํ๋๋ ํ๊ฒฝ์ ๋๋ค. ์๋ธ๋ฆฟ์ ๋ผ์ดํ์ฌ์ดํด์ ๊ด๋ฆฌํ๊ณ , ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํ๋ฉฐ, ์ธ์ ๊ด๋ฆฌ, ๋ณด์, JNDI ์ก์ธ์ค์ ๊ฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์๋ธ๋ฆฟ์ ์์ ๋ฐ ์ค์งํ๊ณ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ค๋ ๋๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ์ ํฉ๋๋ค.
์๋ธ๋ฆฟ ์ปจํ ์คํธ๋ ์น ์์ฉํ๋ก๊ทธ๋จ์ ๋ํ๋ด๋ ๊ฐ์ฒด์ด๋ฉฐ, ์น ์์ฉํ๋ก๊ทธ๋จ์ด ๋ฐฐํฌ๋ ๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ์ํด ์์ฑ๋ฉ๋๋ค. ์๋ธ๋ฆฟ ์ปจํ ์คํธ๋ ์๋ธ๋ฆฟ์ด ์๋ก ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๊ฑฐ๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๋ํ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ฉฐ JSP, ์๋ธ๋ฆฟ ๋ฐ ๊ธฐํ ์น ์์ฉ ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ ์์์ ๊ฐ์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
์์ฝํ๋ฉด ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์๋ธ๋ฆฟ์ ์คํ์ ๊ด๋ฆฌํ๋ ์ ์ฒด์ ์ธ ํ๊ฒฝ์ธ ๋ฐ๋ฉด ์๋ธ๋ฆฟ ์ปจํ ์คํธ๋ ํน์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ๋ด๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ๋ด์ ๊ฐ์ฒด์ด๋ฉฐ ๊ตฌ์ฑ ์์๊ฐ ์ ๋ณด์ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
ServletContext ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ก ApplicationContext
๊ฐ ์กด์ฌํฉ๋๋ค.
๋ํ ServletContext์ ์กฐ๊ธ ๋ ์์ ๊ฐ๋
์ Context์ ๊ตฌํ์ฒด๋ก StandardContext
๊ฐ ์กด์ฌํฉ๋๋ค. StandardContext์์๋ startInternal()
๋ฉ์๋๋ ๋ฆฌ์ค๋ ๋ฑ๋ก
โ ํํฐ ์์
โ loadOnStartUp ์๋ธ๋ฆฟ์ ์ด๊ธฐํ
ํฉ๋๋ค.
(๋๋ถ์ด ServletContext๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ๋ ํฉ๋๋ค)
๋ฆฌ์ค๋ ๋ฑ๋ก
: ContextLoaderListener์ contextInitialized๋ฅผ ํตํด ์ปจํ
์คํธ๊ฐ ์ด๊ธฐํ๋ฅผ ์์ํ๋ค. ์ฌ๊ธฐ์ jwp.sql ์คํฌ๋ฆฝํธ๋ฅผ ์ด๊ธฐํํ๋ ๋ฆฌ์ค๋์ด๋ฏ๋ก ๋ค์ ์ญํ ์ ์ํํ๋ค.
์ด๋ ๊ธฐ๋ณธ์ ์ธ DB ์๋ฒ ๋ฑ๋ก ์ดํ Connection Pool์ด ์์ฑ๋๋ค.
์์ฑ๋ Connection Pool์์ jwp.sql์ ์ด๊ธฐํ ํ๊ธฐ ์ํด Connection์ ํ ๋นํ๋ค.
์ดํ ๋ฐ์์จ Connection์ ํตํด DB์ ์ฐ๊ฒฐํ๊ณ jwp.sql์ populateํ๋ค.
SpringFramework
์์ ์ง์ํ๋ฉฐ DatabasePopulator
์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด ResourceDatabasePopulator
๊ตฌํ์ฒด๊ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ฌ DB๋ฅผ ์ฑ์ด๋ค.populate ์ดํ ๋ค์ ์ปค๋ฅ์
์ ๋ฐํํ๋ค. (ALLOCATED โ RETURNING โ IDLE)
ํด๋น ๊ณผ์ ์ 4์ฃผ์ฐจ Connection ๋ฐํ์ ์์ธํ ์ค๋ช
๋์ด ์์