세션(session)
- session 객체
- 보안과 데이터 기준
- 세션 : 보안 우수, 데이터 제한 없음
- 쿠키 : 보안 안 좋음, 데이터 4kb제한, pc에 저장
- 세션과 브라우저 관계
- 세션은 유지시간이 있음(기본 30분 > web.xml 파일 안에 있음)
- session 객체 메소드
- getAttribute(name) : name으로 session 값을 가져옴 > object 타입이라 String으로 받기 위해서는 형변환 필요
- getAttributeNames() : 여러 세션 이름으로 값을 가져옴 > 열거형
- setAttribute(name, value) : 세션 이름을 name, 세션 값을 value
- setMaxInactiveInterval() : 유효 시간 설정
- session 값 저장/가져오기
- session.setAttribute(String name, Object value);
- String Is_test = “ “;
- session.setAttribute(”Testing”, Is_test);
- Object getAttribute (String name)
- Object Iobj_getdata = session.getAttribute(”Testing”);
- String Is_getdata = (String)Iobj_getdata;
- session.setAttribute(String name, Object value);
- getAttributeNames 메소드 / Enumeration 인터페이스
- hasMoreElements() : 요소가 존재하면 true
- nextElement() : 다음에 값이 있으면 가져옴
- 세션 정보 얻어오기
- getId() : 세션 아이디
- getCreationTime() : 세션이 생성된 시간
- getLastAccessedTime() : 마지막 접근 시간
- isNew() : 새로 생성된 세션인지 아닌지 확인 ( true : 새로 생성된 세션)
- getMaxInactiveInterval() : 유효 시간이 얼마인지 얻어옴
- 세션 삭제하기
- void removeAttribute(java.lang.String name) : name에 맞는 세션 삭제
- void invalidate() : 전부 삭제
[세션 정보 예제 코드]
<center><h3>[ 세션 값을 얻어오는 예제 - 2 ]</h3></center>
<hr>
getAttributeNames() 메소드를 사용하여 세션값을 얻어오는 예제입니다.
<hr>
<%
String s_validate = "현재 페이지는 물론 페이지에서 설정된 세션 값들도 나타납니다.";
session.setAttribute("Validate", s_validate);
String s_name ="";
String s_value="";
Enumeration enum_app = session.getAttributeNames();
int i=0;
while(enum_app.hasMoreElements()){
i++;
s_name = enum_app.nextElement().toString();
s_value = session.getAttribute(s_name).toString();
out.println("<br>얻어온 세션 이름 ["+i+"] : "+s_name+"<br>");
out.println("<br>얻어온 세션 값 ["+i+"] : "+s_value+"<hr>");
}
%>
[여러 세션 얻는 예제 코드]
<center><h3>[ 세션 값을 얻어오는 예제 - 2 ]</h3></center>
<hr>
getAttributeNames() 메소드를 사용하여 세션값을 얻어오는 예제입니다.
<hr>
<%
String s_validate = "현재 페이지는 물론 페이지에서 설정된 세션 값들도 나타납니다.";
session.setAttribute("Validate", s_validate);
String s_name ="";
String s_value="";
Enumeration enum_app = session.getAttributeNames();
int i=0;
while(enum_app.hasMoreElements()){
i++;
s_name = enum_app.nextElement().toString();
s_value = session.getAttribute(s_name).toString();
out.println("<br>얻어온 세션 이름 ["+i+"] : "+s_name+"<br>");
out.println("<br>얻어온 세션 값 ["+i+"] : "+s_value+"<hr>");
}
%>
[유효기간 설정 예제 코드]
<h4>----- 세션 유효 시간 변경 전 -----</h4>
<%
int time = session.getMaxInactiveInterval()/60;
out.print("세션 유효 시간 : "+time+"분<br>");
%>
<h4>----- 세션 유효 시간 변경 후 -----</h4>
<%
session.setMaxInactiveInterval(60 * 60);
time = session.getMaxInactiveInterval() / 60;
out.print("세션 유효 시간 : "+time+"분<br>");
%>
'java,jsp,spring > JSP' 카테고리의 다른 글
JSP JDBC (0) | 2022.08.24 |
---|---|
JSP 예외 처리, 자바 빈 (0) | 2022.08.17 |
JSP 쿠키 (0) | 2022.08.15 |
JSP 지시자, request/response 객체, 액션태그 (0) | 2022.08.15 |
JSP 동작 원리, 태그 (0) | 2022.08.10 |