개인용 복습공간

[Jsp] 세션과 쿠키 - (2) 본문

웹/Jsp, Servlet

[Jsp] 세션과 쿠키 - (2)

taehwanis 2021. 6. 1. 05:16

 

 

 

쿠키와 세션의 정의, 사용방법에
대해서 공부해보려 한다.

 

 

 

 

 

세션 (Session)

세션의 동작은 클라이언트가 처음 접속했을 때 세션 ID를 부여하고, 서버에 세션 ID를 저장하고 메모리
공간을 확보한다. 다시 클라이언트가 접속했을 때 부여된 세션 ID를 이용해서 클라이언트를 구분한다.
세션 메모리 공간에 세션 속성과 값들을 저장하고 검색한다.

 

 

세션 객체의 메서드
  • getAttribute(String name)
    name이란 이름에 해당되는 속성 값을 Object타입으로 반환한다. 해당되는 이름이 없을 경우에는 null을 반환한다.
  • getAttributeNames()
    속성의 이름들을 Enumeration 타입으로 반환한다.
  • getCreationTime()
    1970년 1월 1일 자정을 기준으로 하여 현재 세션이 생성된 시간까지 지난 시간을 계산하여 밀리 세컨드로 반환한다.
  • getId()
    세션에 할당된 유일한 식별자(ID)를 String 타입으로 반환한다.
  • getMaxInactiveInterval()
    현재 생성된 세션을 유지하기 위해 설정된 최대 시간을 정수형으로 반환한다
  • invalidate()
    현재 생성된 세션을 무효화시킨다.
  • removeAttribute(String name)
    name으로 지정한 속성의 값을 지운다.
  • setAttribute(String name, Object value)
    name으로 지정한 이름에 value 값을 할당한다.
  • setMaxInactiveInterval(int interval)
    세션의 최대 유지시간을 초단위로 설정한다.

 

 

 

세션 인터페이스
  1. 세션 생성
    session.setAttribute("mySession", "session value");
  2. 세션의 유지시간 설정
    session.setMaxInactiveInterval(5*60);
    세션의 유지 시간은 기본 값으로 30분 설정, 30분 이상 서버에 전혀 반응을 보이지 않으면 세션이 자동으로 끊어짐
  3. 세션 속성 삭제
    session.removeAttribute("mySession");
  4. 세션 삭제
    session.invalidate();

 

 

세션 사용 예제

createSession.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ page contentType="text/html; charset=EUC-KR" %>
<html>
<head>
    <title>세션사용예제(세션생성)</title>
</head>
<body>
<%
    String id = "rorod";
    String pwd = "1234";
 
    session.setAttribute("idKey", id);
    session.setAttribute("pwdKey", pwd);
%>
세션이 생성되었습니다.<br/>
<a href="viewSessionInfo.jsp">세션정보를 확인하는 페이지로 이동</a>
</body>
</html>
cs

 

viewSessionInfo.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ page contentType="text/html; charset=EUC-KR" %>
<%@ page import="java.util.*" %>
<html>
<head>
    <title>세션사용예제(세션확인)</title>
</head>
<body>
<%
    Enumeration en = session.getAttributeNames();
    while(en.hasMoreElements()){
        String name = (String)en.nextElement();
        String value = (String)session.getAttribute(name);
        out.println("session name : " + name + "<br/>");
        out.println("seesion value " + value + "<br/>");
    }
    out.println("session id: " + session.getId());
%>
</body>
</html>
cs

실행 화면

Comments