์๋ธ๋ฆฟ ๊ธฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์ ์๋ 4๊ฐ์ง ์ข ๋ฅ์ ๋ฐ์ดํฐ ๋ณด๊ด์๋ฅผ ์ ๊ณตํ๋ค. ๊ฐ ๋ณด๊ด์๋ ๊ณต์ ๋ฒ์๊ฐ ๋ค๋ฅด๋ค.
์๋ธ๋ฆฟ ๋ฐ์ดํฐ ๋ณด๊ด์ ์ข ๋ฅ
โ ServletContext, โก HttpSession, โข ServletRequest, โฃ JspContext
๋ฐ์ดํฐ ์ ๊ทผํ๊ธฐ
๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ๋ณด๊ด์๊ฐ ๋์ผํ๋ค.
๋ณด๊ด์ ๊ฐ์ฒด.setAttribute(ํค, ๊ฐ); // ์ ์ฅ
๋ณด๊ด์ ๊ฐ์ฒด.getAttribute(ํค); // ์กฐํ
๋ฐ์ดํฐ ๋ณด๊ด์ ๋ณ ํน์ง๊ณผ ํ์ฉ ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
ServletContext
์น ์ดํ๋ฆฌ์ผ์ด์ ์ด ์์๋ ๋ ์์ฑ๋ผ์ ์ข ๋ฃ๋ ๋๊น์ง ์ ์ง๋๋ค. ServletContext์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๋ ๋์ ๋ชจ๋ ์๋ธ๋ฆฟ์ด ์ฌ์ฉํ ์ ์๋ค. JSP์์ application ๋ณ์๋ฅผ ํตํด ์ฐธ์กฐํ๋ค.
์ด๋ค ๊ฐ์ฒด๋ฅผ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๋ ๋์ ๋ชจ๋ ์๋ธ๋ฆฟ๊ณผ ๊ณต์ ํ๋ ค๋ฉด ServletContext๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
์๋ฅผ ๋ค์ด DB ์ปค๋ฅ์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํด์ ๋ชจ๋ ์๋ธ๋ฆฟ์ด ๊ณต์ ํ๋๋ก ํ ์ ์๋ค.
- ServletContext๋ก DB ์ปค๋ฅ์ ๊ฐ์ฒด ๊ด๋ฆฌํ๊ธฐ
HttpSession
ํด๋ผ์ด์ธํธ์ ์ต์ด ์์ฒญ ์ ์์ฑ๋ผ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์๋ ๊น์ง ์ ์ง๋๋ฉฐ ํด๋ผ์ด์ธํธ ๋น ํ ๊ฐ๊ฐ ์์ฑ๋๋ค. ๋ณดํต ๋ก๊ทธ์ธํ ๋ ์ด ๋ณด๊ด์๋ฅผ ์ด๊ธฐํํ๊ณ ๋ก๊ทธ์์ํ๋ฉด ์ ์ฅ๋ ๊ฐ๋ค์ ๋น์ด๋ค. ๋ฐ๋ผ์ HttpSession์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ์๋ธ๋ฆฟ์์ ๋ก๊ทธ์์ ์ ๊น์ง ๊ฐ์ ์ ์งํ ์ ์๋ค. JSP์์ session ๋ณ์๋ฅผ ํตํด ์ฐธ์กฐํ๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ก๋ถํฐ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ๊ทธ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํ HttpSession ๊ฐ์ฒด๊ฐ ์๋์ง ํ์ธํ๊ณ ์์ผ๋ฉด ์๋ก์ด HttpSession ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค. ์์ฑ๋ ๊ฐ์ฒด๋ ์น ๋ธ๋ผ์ฐ์ ๋ก๋ถํฐ ์ผ์ ์๊ฐ ๋์ Timeout ์์ฒญ์ด ์์ผ๋ฉด ์ญ์ ๋๋ค. ๋ฐ๋ผ์ ๋ก๊ทธ์ธ๋์ด ์๋ ๋์ ์ง์์ ์ผ๋ก ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฅผ HttpSession์ ์ ์ฅํ๋ค.
HttpSession ๊ฐ์ฒด๋ฅผ ๋ฌดํจํํ๋ invalidate()๊ฐ ํธ์ถ๋์ด HttpSession ๊ฐ์ฒด๊ฐ ์ญ์ ๋ ํ, ์๋ก์ด ์์ฒญ์ด ๋ค์ด์ค๋ฉด HttpSession ๊ฐ์ฒด๊ฐ ์๋ก ์์ฑ๋๋ค.
- [IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (5) ๋ก๊ทธ์ธ/๋ก๊ทธ์์(HttpSession)
ServletRequest
ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด ๋ค์ด์ฌ๋ ์์ฑ๋ผ์ ์๋ตํ ๋๊น์ง ์ ์ง๋๋ค. ํฌ์๋ฉ/์ธํฌ๋ฃจ๋ฉํ๋ ์๋ธ๋ฆฟ๋ค ์ฌ์ด์์ ๊ฐ์ ๊ณต์ ํ ๋ ์ ์ฉํ๋ค. JSP์์ request ๋ณ์๋ฅผ ํตํด ์ฐธ์กฐํ๋ค.
ServletRequest ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๋ฉด ํฌ์๋ฉ/์ธํด๋ฃจ๋ฉ์ ํตํด ํ์ ํ๋ ์๋ธ๋ฆฟ/JSP๋ผ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์ ์๋ค.
request์ response๋ฅผ ๊ฐ์ด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ์ฉ ์๋ ๋ค์ ๋งํฌ์์ ์๋ธ๋ฆฟ์์ JSP๋ก ์ถ๋ ฅ์ ์์ํ๋ฉฐ HttpServletRequest์ ์ถ๋ ฅ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ๋ฌํ๋ ๋ถ๋ถ์ ๋ณด๋ฉด ๋๋ค.
- [IntelliJ] MVC ํ์๊ฐ์ ์์ - (1) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ
JspContext
JSP๋ฅผ ์คํํ๋ ๋์ ์ ์ง๋๋ค. JSP์์ pageContext ๋ณ์๋ฅผ ํตํด ์ฐธ์กฐํ๋ค.
JspContext ๋ณด๊ด์๋ JSP๋ฅผ ์คํํ ๋ ์์ฑ๋๊ณ ์๋ฃ๋๋ฉด ๊ฐ์ฒด๊ฐ ์ ๊ฑฐ๋๋ค.
๋ฐ๋ผ์ JSP ๋ด๋ถ์์๋ง ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ๋ ์ฌ์ฉํ๋ค.
JSP ๋ก์ปฌ ๋ณ์์ JspContext์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ฐจ์ด๋, ํ๊ทธ ํธ๋ค๋ฌ๋ JspContext์๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ์ง๋ง ๋ก์ปฌ ๋ณ์์๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์๋ค.
๋ฐ๋ผ์ ํ๊ทธ ํธ๋ค๋ฌ์๊ฒ ์ ๋ฌํ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ๋ฉด JspContext์ ๊ฐ์ ์ ์ฅํ ํ์๊ฐ ์๋ค.
ํ๊ทธ ํธ๋ค๋ฌ :
JSP ํ๊ทธ์ ๊ฐ์ ๋ค๋ฃจ๋ ๊ฐ์ฒด
'Javaยท๏ปฟServletยท๏ปฟJSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JSP] JSTL ์ฌ์ฉ ๋ฐฉ๋ฒ - ์ฃผ์ ํ๊ทธ ๋ฌธ๋ฒ ์ ๋ฆฌ (4) | 2020.02.15 |
---|---|
JSP - EL ํํ์ ๋ฌธ๋ฒ๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ (3) | 2020.02.13 |
[IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (6) ํ์ ์ญ์ (0) | 2020.02.13 |
[IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (5) ๋ก๊ทธ์ธ/๋ก๊ทธ์์(HttpSession) (0) | 2020.02.13 |
JSP ์ก์ ํ๊ทธ์ jsp:useBean ์ฌ์ฉ ์์ (0) | 2020.02.13 |
๋๊ธ