session 객체

essential·2023년 8월 3일
0

JSP

목록 보기
9/21

session 객체

  • 클라이언트와 서버와의 연결 유지에 사용
  • 관련 메서드
리턴 타입메소드명설명
StringgetId()해당 세션의 세션 ID를 문자열로 리턴 한다. 세션 ID는 session 객체 생성 시에 웹 컨테이너에 의해 자동으로 할당 된다.
longgetCreationTime()1970년 1월 1일 00시 00분 00초(epoch)부터 해당 세션이 생성된 순간까지의 경과 시간을 미리 초로 계산하여 long형으로 리턴 한
longgetLastAccessedTime()epoch로부터 해당 세션에 마지막으로 접근된 시간까지의 경과 시간을 밀리 초로 계산하여 long 형으로 리턴 한다.
intgetMaxInativeInterval()클라이언트의 요청이 없을 시 서버가 해당 세션을 유지하도록 지정된 시간을 초 단위의 정수로 리턴 한다.
없음invalidate()세션의 속성 값으로 저장된 모든 객체를 반납하여 해당 세션을 종료 시킨다.
booleanisNew()새로운 세션이면 true를 리턴하고 기존 세션이 유지되고 있으면 false를 리턴 한다.
없음setMaxInactiveInterval(int seconds)클라이언트의 요청이 없더라도 세션을 유지할 시간을 초 단위의 정수 값으로 설정 한다. 음수로 설정 할 경우 세션은 무효화(invalidate)되지 않는다.
  • 세션 객체 자동 소멸 되는 경우
    • 웹 서버를 종료했을 때
    • 웹 브라우저를 모두 닫았을 때
    • 세션 만료시간이 지났을 때(setMaxInactiveInterval(int seconds )
  • 세션 객체 강제 소멸
    • session.invalidate()를 실행 했을 때

예제

sessionTest1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
session.setMaxInactiveInterval(5); //5초
%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>세션 테스트</h2>
isNew():<%=session.isNew() %><br>
생성시간:<%=session.getCreationTime()%>
최종 접속 시간:<%=session.getLastAccessedTime()%><br>
세션ID:<%=session.getId()%><br>
</body>
</html>

5초 지난 후

  • isNew() 값이 변경, ID 변경 됨
profile
essential

0개의 댓글