[session 내용 확인 실습]
프로젝트 Dwp_Ch07_Session
html ins.html (데이터 입력페이지)
jsp_01 => sessionProc.jsp
(데이터 수신및 세션 적용 페이지)
jsp_02 => sessionConfirm.jsp
(세션 정보확인 및 세션 해제 선택 페이지)
jsp_03 => sessionInvalid.jsp
(세션 해제 실행 페이지)
1. 세션을 설정하기 위한 기본 환경
1) 세션을 설정하기 위한 데이터가 존재해야함.
=> 변수에 값이 저장되어 있어야함.
2) page 디렉티브 (=지시자)에서
session="true" 속성 설정 되어 있어야 함
(단, 기본 값이므로 생략 가능)
3) 세션 설정
=> session.setAttribute("세선 키", "적용할 변수");
-------------
세션을 적용할
데이터를 의미(=세션 값)
보기. String data= "123ABC";
session.setAttribute("sessionKey" , data);
------------- -------------
임의설정가능 적용할 변수
=> 입력값 "123ABC"이라는 데이터는
sessionKey라는 세션 키로 현재 내용은 없지만
세션 ID를 자동 생성하여 세션을 설정한다.
그러므로 세션이 설정되면 다음 3개가 필요하다.
세션 키 , 세션 값(적용할 변수) , 세션 ID(=난수)
--------- --------------------- ---------------
"sessionKey" "123ABC" 알수 없음
세션이 생성될 때 부여받은
세션 아이디는 세션이 소멸될 때까지
난수가 불변하고 유지
부수적으로 세션 유지 시간도 자동 설정된다.
기본 값 : 30 분 => 표기법 60*30
------
60초 30개 (= 분)
초 단위로 입력해야 함.
참고. 세션 유지 시간 사용자 지정 =>
session.setMaxInactiveInterval( 60 * 2 );
2분간 세션 유지
단, 세션 유지시간은
브라우저를 새로고침하면
시간이 재설정됨(2분으로 다시 설정)
2. 세션 난수값(세션 ID) 확인하기
session.getID( ); 세션의 ID인 난수 값을 반환한다.
3. 세션 소멸 (=세션 ID(난수값) 소멸)
1) 자동 소멸 : 세션 유지 시간 동안 브라우저 페이지 이동 or 새로고침 하지 않으면
자동 소멸
2) 수동 소멸 : 세션 즉시 소멸시키는 방법으로
session.invalidate( ); 실행한다.
* 세션 내장 객체가 세션 난수값(ID) 생성함 / 세션키, 세션값은 사용자가 설정
서버에서 처리하면 되는 sessionProc.jsp는 페이지를 노출 시킬 필요가 없으므로
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" autoFlush="true"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>세션 생성(=설정) 페이지</title>
<link rel="shortcut icon" href="#">
<link rel="stylesheet" href="/Dwp_Ch07_Session/style/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="/Dwp_Ch07_Session/script.js"></script>
</head>
<body>
<div id="wrap">
<%
String sampleData=request.getParameter("sampleData");
/* 변수 이름은 받는 data name과 똑같이 설정하는 것이 좋다. */
session.setAttribute("sdKey", sampleData);
//세션 키 , 세션 값(전달 받은 데이터)
//세션 아이디 자동 생성(숫자 + 영문코드로 구성된 난수 코드)
//크롬,엣지 에 따라서도 난수값이 달라지므로 구분 가능
//sd = sampleData
//추가적으로 자동생성 => 세션 유지 시간 (기본 30 분, 60*30)
//세션 유지시간 사용자 설정 => session.setMaxInactiveInterval(20);
session.setMaxInactiveInterval(20);
%>
</div>
<!-- div#wrap -->
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" autoFlush="true"%>
<%
String sampleData=request.getParameter("sampleData");
/* 변수 이름은 받는 data name과 똑같이 설정하는 것이 좋다. */
session.setAttribute("sdKey", sampleData);
//세션 키 , 세션 값(전달 받은 데이터)
//세션 아이디 자동 생성(숫자 + 영문코드로 구성된 난수 코드)
//크롬,엣지 에 따라서도 난수값이 달라지므로 구분 가능
//sd = sampleData
//추가적으로 자동생성 => 세션 유지 시간 (기본 30 분, 60*30)
//세션 유지시간 사용자 설정 => session.setMaxInactiveInterval(20);
session.setMaxInactiveInterval(20);
%>
간소화 시킨다
'코딩 해보자' 카테고리의 다른 글
220907 DB 와 JSP 연동으로 간단한 회원가입/로그인 구현 (0) | 2022.09.11 |
---|---|
JSP 파일 업로드 (Cos.jar 사용하기) (2) | 2022.09.07 |
220901 가을맞이 리프레쉬 (Java set,get메서드 사용) (0) | 2022.09.01 |
220830 Resource_Archive 만들기(리소스 파일생성) (0) | 2022.08.30 |
220823 jQuery Traversing 제이쿼리 트래버싱이란? (0) | 2022.08.24 |
댓글