1. 세션(Session)
2. 세션 생성
<%@ page session=”true” %>
3. 세션의 기본 객체
예제) sessioninfo.jsp
참고) 세션은 기본적으로 64비트 암호화되어 저장되고 서버에 저장되므로 쿠키에 비해 자료의 보안성이 탁월하다. 그래서 현재 대부분의 사이트들은 회원 정보 확인에 세션을 주로 사용한다.
4. 세션 속성 사용
예제) setMemberInfo.jsp
session.setAttribute() , session.getAttribute();
예제) closeSession.jsp (세션 종료)
1. sessionInfo.jsp 실행
2. closeSession.jsp 실행
3. sessionInfo.jsp 실행 세션 생성 세션 종료 세션 생성
5. 세션 설정
web.xml 에서의 설정
<session-config>
<session-timeout>1</session-timeout>
</session-config>
웹콘테이너세션1웹콘테이너세션2웹콘테이너세션1 30분경과 시점세션삭제 세션사용 요청세션사용 요청
; 위의 설정에서는 세션 유지시간 1분
; 일반적으로 쇼핑몰 등에서는 세션 유지 시간을 1시간 정도로 할당해주는 것이 바람직하다(사이트의 성격에 따라 다릅니다. 구매에 대해서 고민을 많이 해야 되는 종합몰의 경우 더 많은 시간을 할당 할 수 있습니다). 수분 단위로 지나치게 적은 시간들로 세션의 유지시간이 할당된다면 로그인(회원 ID가 대부분 세션 변수로 설정됨)하여 쇼핑할 동안 고객들이 의도하지 않게 로그 아웃되는 수모를 겪게 되어 고객 클레임이 발생하기 때문에 이러한 부분도 약관 등에 명시하여 고객 클레임을 막을 수 있도록 설정하는 것이 바람직하다. 그러나 지나치게 세션 유지 시간을 많이 할당하여 반나절이나 하루 정도로 지속되도록 한다면 고객들이 사람들이 많이 사용하는 인터넷 PC 방에서 로그인하여 쇼핑을 하다가 실수로 화면을 끄지 않고(또는 로그아웃 하지 않고) 나갔을 경우 자칫하면 다른 그 자리에 착석하는 이들에게 정보가 누출될 수 있기 때문에
# 세션 시간을 할당하는 메소드
session.setMaxInactiveInterval(3600);
6. 세션을 이용한 로그인/아웃/체크 구현
예제) member/sessionLogin.jsp, member/sessionLoginCheck.jsp,
Member/sessionLogout.jsp
request.getParameter(“member_id”)
session.setAttribute(“MemberID”,member_id);
설명) 세션을 로그인하여 바로 세션 로그인 체크 코드를 실행해보면 세션이 로그인 되었다고 인식할 것이다. 그러나 이러한 세션도 일반적으로 화면을 닫게 되면 자동으로 종료하게 되어 있다. 그러나 종료하지 않은 상태에서 다른 페이지를 이동하더라도 지속적으로 변수와 값이 유지되어 별도의 인자 전달을 하지 않아도 변수가 유지된다.
# 세션 로그아웃 : session.invalidate();


