sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
※SESSION 정보얻기※
■ getId() 메소드 : 세션 ID를 되돌리는 메소드로서 해당 세션을 가리키는 고유 ID값을 String형으로 변환한다.
■ getCreationTime() 메소드 : getCreation 메소드는 세션이 만들어진 시간을 반환.웹브라우저를 띄울때 마다
세션이 생성되므로 그때의 시간을 되돌린다.
■ getLastAccessedTime() 메소드 : 이미 띄운 웹브라우저에서 다른 페이지로 이동했다가 돌아오는 경우
사이트를 떠날 당시 시간을 얻고 싶을때 사용한다.
getLastAccessedTime메소드는
해당 세션이 client가 마지막으로 request를 보낸 시간을 long형으로
반환한다.
■ isNew() 메소드 : 해당 세션이 처음 생성되었다면 true값을 반환하고 이전에 생성되었다면
false값을 반환하는 메소드
웹브라우저를 새로 띄워서 사이트에 접속하면 true 다른 페이지로 갔다가 해당 페이지로
돌아왔을 경우는 false를 리턴한다.
■ getMaxInactiveInterval() 메소드 : 세션의 유효시간 은 사용자의 마지막 요청(request)이 있은 후부터
tomcat 홈의 conf 폴더의 web.xml파일에 저장되어있다.
기본적으로 30분이다. 유효시간 단위는 분이다.
web.xml : <session-config>
<session-timeout>30</session-timeout>
</session-config>
예문)
file 이름 : infoSession.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import="java.util.*" %>
<html>
<body>
<center><h3>[ 세션 정보를 얻어오는 메소드를 사용한 예제 ]</h3></center>
<hr>
<%
//고유한 세션 객체의 ID를 되돌려준다.
String id_str=session.getId();
//세션에 마지막으로 엑세스한 시간을 되돌려준다.
long lasttime=session.getLastAccessedTime();
//세션이 생성된 시간을 되돌려 준다.
long createdtime=session.getCreationTime();
//세션에 마지막으로 엑세스한 시간에서 세션이 생성된 시간을 빼면
//웹사이트에 머문시간이 계산된다.
long time_used=(lasttime-createdtime)/60000;
//세션의 유효시간 얻어오기
int inactive=session.getMaxInactiveInterval()/60;
//세션이 새로 만들어졌는지 알려 준다.
boolean b_new=session.isNew();
%>
[1] 세션 ID는 [<%=session.getId()%>] 입니다.<br><hr>
[2] 당신의 웹사이트에 머문 시간은 <%=time_used%> 입니다.<br><hr>
[3] 세션의 유효시간은 <%=inactive%> 분입니다.<br><hr>
[4] 세션이 새로 만들어 졌나요?<br><hr>
<%
if(b_new)
out.println("예 !! 새로운 세션을 만들었습니다.");
else
out.println("아니오 !! 새로운 세션을 만들지 않았습니다.");
%>
<hr>
</body>
</html>
Result ==>
[ 세션 정보를 얻어오는 메소드를 사용한 예제 ]
[1] 세션 ID는 [53C42CA9973718029CD17B48F3A9756F] 입니다.
[2] 당신의 웹사이트에 머문 시간은 0 입니다.
[3] 세션의 유효시간은 30 분입니다.
[4] 세션이 새로 만들어 졌나요?
아니오 !! 새로운 세션을 만들지 않았습니다.
[출처] JSP session 정보 얻기 (JavaWithKim) |작성자 ftw6