Session
์๋ก ๊ด๋ จ๋ ์์ฒญ๋ค์ ํ๋๋ก ๋ฌถ์ ๊ฒ - ์ฟ ํค๋ฅผ ์ด์ฉ
browser๋ง๋ค ๊ฐ๋ณ ์ ์ฅ์(session๊ฐ์ฒด)๋ฅผ ์๋ฒ์์ ์ ๊ณต
Session | Cookie
Session(์ธ์
) : ์น ์๋ฒ ์ชฝ์ ์น ์ปจํ
์ด๋์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅ
- ์ธ์
์ ์ ๋ณด๋ฅผ ์ ์ง๋ฅผ ์ํด javax.servlet.http์ HttpSession ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ ์ฌ์ฉ
Cookie(์ฟ ํค) : ์น ๋ธ๋ผ์ฐ์ ์ ์ฌ์ฉ์์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅ
- ์ฟ ํค๋ ์ ๋ณด๋ฅผ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํด์ ์น ์๋ฒ๊ฐ ์ฟ ํค ์ ๋ณด๋ฅผ ์ฝ์ด์ ์ฌ์ฉํ๋ค.
์ด๊ฒ์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ ์ฟ ํค๋ ์น ์๋ฒ์์ ์ด์ด๋ณผ ์ ์๋ค๋ ์ ์์ ๋ณด์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
๊ณ ๋ก ์ธ์
์ ์ฌ์ฉ ํ๋ ๋ฐฉ๋ฒ์ด ๋ณด์์๋ ์์ ์ ์ด๋ค.
Session | Method
๋ฉ์๋ ์ด๋ฆ |
๋ฆฌํด ํ์
|
์ค๋ช
|
getCreationTime() |
long |
1970๋
1์ 1์ผ 0์ 0์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ฌ ํ์ฌ ์ธ์
์ด ์์ฑ๋ ์๊ฐ๊น์ง ๊ฒฝ๊ณผํ ์๊ฐ์ ๊ณ์ฐํ์ฌ 1/1000์ด ๊ฐ์ผ๋ก ๋ฆฌํดํ๋ค. |
getId() |
java.lang.String |
์ธ์
์ ํ ๋น๋ ๊ณ ์ ์๋ณ์๋ฅผ String ํ์
์ผ๋ก ๋ฆฌํดํ๋ค. |
getMaxInactiveInterval() |
int |
ํ์ฌ ์์ฑ๋ ์ธ์
์ ์ ์งํ๊ธฐ ์ํด ์ค์ ๋ ์ธ์
์ ์ง์๊ฐ์ intํ์ผ๋ก ๋ฆฌํดํ๋ค. |
invalidate() |
void |
ํ์ฌ ์์ฑ๋ ์ธ์
์ ๋ฌดํจํ ์ํจ๋ค. |
setMaxInactiveInterval(int interval) |
void |
์ธ์
์ ์ ์งํ๊ธฐ ์ํ ์ธ์
์ ์ง์๊ฐ์ ์ด ๋จ์๋ก ์ค์ ํ๋ค. |
inNew() |
boolean |
์๋ก ์์ฑ๋ ์ธ์
์ธ์ง๋ฅผ ๋ฐํ. request.getSession() ํธ์ถ ํ ์ฌ์ฉ |
getLastAccessedTime() |
long |
์ธ์
๋ด์์ ์ต๊ทผ ์์ฒญ์ ๋ฐ์ ์๊ฐ์ ๋ฐํ |
์์ฑ ๊ด๋ จ ๋ฉ์๋ ์ด๋ฆ |
๋ฆฌํด ํ์
|
์ค๋ช
|
getAttribute(String name) |
java.lang.Object |
์ธ์
์์ฑ๋ช
์ด name์ธ ์์ฑ์ ๊ฐ์ Object ํ์
์ผ๋ก ๋ฆฌํดํ๋ค. ํด๋น ๋๋ ์์ฑ๋ช
์ด ์์ ๊ฒฝ์ฐ์๋ null ๊ฐ์ ๋ฆฌํดํ๋ค. |
getAttributeNames() |
java.util.Enumeration |
์ธ์
์์ฑ์ ์ด๋ฆ๋ค์ Enumeration ๊ฐ์ฒด ํ์
์ผ๋ก ๋ฆฌํดํ๋ค. |
removeAttribute(String.name) |
void |
์ธ์
์์ฑ๋ช
์ด name์ธ ์์ฑ์ ์ ๊ฑฐํ๋ค. |
setAttribute(String name, Object value) |
void |
์ธ์
์์ฑ๋ช
์ด name์ธ ์์ฑ์ ์์ฑ๊ฐ์ผ๋ก value๋ฅผ ํ ๋นํ๋ค. |
Session | ์ข
๋ฃ
Session | ์๋ ์ข
๋ฃ
HttpSession session = request.getSession();
session.invalidate(); // 1. ์ธ์
์ ์ฆ์ ์ข
๋ฃ
session.setMaxInactiveInterval(30*60); // 2. ์์ฝ ์ข
๋ฃ(30๋ถ ํ)
Session | ์๋ ์ข
๋ฃ
// web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
์ถ์ฒ | ํจ์คํธ ์บ ํผ์ค
์ถ์ฒ | ๋ฆฌ์ค์ ์ผ์