[DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 43์ผ์ฐจ
์ค๋์ JSP์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ด์ฅ ๊ฐ์ฒด์ ์ก์ ํ๊ทธ, ๊ทธ๋ฆฌ๊ณ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ์ ์ผ๋ก ์ค๊ณํ๋ ๋ฐ ์ค์ํ MVC(Model2) ๊ฐ๋ ๊น์ง ๋ฐฐ์ฐ๋ฉฐ, ์น ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์ธต ๋ ๋ค์ง ์ ์์๋ค.
ํนํ ์ค์ ์์ ์ฝ๋๋ฅผ ์ง์ ์คํํด ๋ณด๋ฉด์ ๊ฐ ๊ฐ๋ ์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์กฐ๊ธ์ฉ ์ดํด๊ฐ ๋์๋ค.
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ
๐ท ๋ด์ฅ ๊ฐ์ฒด (request, response, out, session, application)
JSP์์ ์ ๊ณตํ๋ ๋ด์ฅ ๊ฐ์ฒด๋ค์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ํ์ตํ๋ค.
request ๊ฐ์ฒด๋ก ํด๋ผ์ด์ธํธ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ , response ๊ฐ์ฒด๋ก ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์๋ต์ ๋ฐํํ๋ ๋ฐฉ๋ฒ์ ์ฐ์ตํ๋ค.
๋ํ out ๊ฐ์ฒด๋ก HTML ์ถ๋ ฅ์ ๋ด๋นํ๊ณ , session ๊ฐ์ฒด๋ก ์ฌ์ฉ์๋ณ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ, application ๊ฐ์ฒด๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ญ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ๊น์ง ๋ฐฐ์ ๋ค.
๊ฐ ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ์ ๊ณต์ ๋ฒ์๋ ํจ๊ป ์ ๋ฆฌํ๋ค.
๐ถ ์ก์ ํ๊ทธ (include, forward)
jsp:include๋ฅผ ์ฌ์ฉํด JSP ์ฝ๋ ์ผ๋ถ๋ฅผ ํฌํจ์ํค๋ ๋ฐฉ๋ฒ๊ณผ, jsp:forward๋ก ํ์ด์ง ์ด๋๊ณผ ๊ฐ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ๋ค.
์์ ์ฝ๋๋ก ์ด๋ฏธ์ง ์ถ๋ ฅ, ์์ด๋ ๊ฒ์ฆ ํ ํ์ด์ง ์ด๋ ๋ฑ์ ์ค์ตํ๋ฉด์ ์ก์ ํ๊ทธ์ ์ญํ ๊ณผ ํ์ฉ๋ฒ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ตํ ์ ์์๋ค.
๐ฉ MVC(Model2)
์๋ธ๋ฆฟ๊ณผ JSP๋ฅผ ๋ถ๋ฆฌํด ๋น์ฆ๋์ค ๋ก์ง๊ณผ ํ๋ฉด ์ถ๋ ฅ์ ๋๋๋ MVC ๊ตฌ์กฐ๋ฅผ ํ์ตํ๋ค.
Model1 ๋ฐฉ์๊ณผ ๋น๊ตํ๋ฉฐ Model2๊ฐ ๋ ํจ์จ์ ์ด๋ผ๋ ์ ์ ํ์ธํ๊ณ ,
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด MVC ํจํด์ ์ฌ์ฉํ๋ ์ด์ ๋ฅผ ์ดํดํ ์ ์์๋ค.
๐งก ๋๋ ์
์ค๋์ JSP์์ ์ ๊ณตํ๋ ๋ค์ํ ๋ด์ฅ ๊ฐ์ฒด์ ์ก์ ํ๊ทธ๋ฅผ ๋ฐฐ์ฐ๋ฉด์, ์น ๊ฐ๋ฐ์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ค์ ์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ ๋ฆฌํ ์ ์๋ ์๊ฐ์ด์๋ค.
ํนํ request์ response ๊ฐ์ฒด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ ์์ฒญ๊ณผ ์๋ฒ ์๋ต์ ํ๋ฆ์ ์ดํดํ ์ ์์๊ณ , session๊ณผ application ๊ฐ์ฒด๋ฅผ ํตํด ์ฌ์ฉ์๋ณ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ์ ์ฒด ๋ฐ์ดํฐ ๊ณต์ ์ ๊ฐ๋ ๋ ์ ์ ์์๋ค.
MVC ํจํด์ ์ฒ์์ ์กฐ๊ธ ๋ณต์กํ๊ฒ ๋๊ปด์ก์ง๋ง, ์๋ธ๋ฆฟ๊ณผ JSP์ ์ญํ ์ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ผ ์ ์๋ค๋ ์ ์ด
์์ผ๋ก์ ์น ๊ฐ๋ฐ์์ ์ค์ํ ํฌ์ธํธ๊ฐ ๋ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
์ค๋์ฒ๋ผ ํ๋์ฉ ๋ฐฐ์ฐ๊ณ ์ค์ตํ๋ฉฐ, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ์ ํ๋ฆ์ ์ ์ ์ดํดํด๊ฐ๋ ๊ณผ์ ์ด ์ฌ๋ฏธ์์๋ค.
์์ผ๋ก๋ ์ด๋ ๊ฒ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๊ณ์ ๋ค์ ธ๊ฐ๋ฉด์ ๋ ์์ ๊ฐ ์๊ฒ ์น ๊ฐ๋ฐ์ ํ๊ณ ์ถ๋ค.