Session
Cookie
처럼 웹브라우저와의 관계를 유지하기 위한 수단- 서버상의 객체로 존재 Cf)
Cookie
는 클라이언트의 특정 위치에 저장 - 따라서
Session
은 서버에서만 접근 가능하여 보안이 좋고, 저장할 수 있는 데이터의 한계가 없음
- 클라이언트 요청 - 웹브라우저
Session
자동 생성Session
속성 설정 -session
내부 객체의 메소드 이용
- 각 브라우저마다 세션 생성됨
Session 관련 메소드
1 | setAttribute() - 세션에 데이터 저장 |
Example
sessionInit.jsp
1
2
3
4
5
6<%
session.setAttribute("mySessionName","mySessionData");
sessoin.setAttribute("myNum",12345);
%>
<a href="sessionGet.jsp">session get</a>sessoinGet.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50<%
Object obj1 = session.getAttribute("mySessionName"); // 이때 반환 값은 무조건 Object형임***
String mySessionName = (String)obj1;
out.println(mySessionName + "<br/>");
Object obj2 = session.getAttribute("myNum");
Integer myNum = (Integer)obj2;
out.println(myNum + "<br/>");
out.println("****************************** <br/>");
String sName;
String sValue;
Enumeration enumeration = session.getAttributeNames(); // 모든 세션 값들 가져옴
while(enumeration.hasMoreElements()){
sName = enumeration.nextElement().toString();
sValue = session.getAttribute(sName).toString();
out.println("sName: " + sName + "<br/>");
out.println("sValue: " + sValue + "<br/>");
}
out.println("****************************** <br/>");
String sessionId = session.getId(); //세션 아이디 획득
out.pringln("sessionId: " + sessionId);
int sessionInter = session.getMaxInactiveInterval();
out.pringln("sessionInter: " + sessionInter);
out.println("****************************** <br/>");
session.removeAttribute("mySessionData"); //특정 데이터를 삭제
Enumeration enumeration1 = session.getAttributeNames();
while(enumeration1.hasMoreElements()){
sName = enumeration1.nextElement().toString();
sValue = session.getAttribute(sName).toString();
out.println("sName: " + sName + "<br/>");
out.println("sValue: " + sValue + "<br/>");
}
out.println("****************************** <br/>");
session.inValidate(); //세션 자체를 삭제
if(request.isRequestedSessionIdValid()){
out.println("session valid");
} else {
out.println("session invalid");
}
%>