쿠키의 유효시간
쿠키를 삭제할때 setMaxAge()를 이용해 삭제를 할 수 있었습니다.
쿠키는 보통 유효시간을 정해주지 않으면 웹 브라우저를 닫음과 동시에 쿠키가 삭제 됩니다.
그러나 유효시간을 정해놓으면 설정해놓은 유효시간동안 쿠키가 존재하게 되고 웹 브라우저를 닫아도 유효시간이 남아있으면 쿠키는 삭제되지 않고 남아있게 됩니다.
setMaxAge()의 매개변수로 60을 넣어준다면 60초, 즉 1분동안 유효시간이 되는것이다.
1 2 3 4 | <% Cookie cookie = new Cookie("name","sogom"); cookie.setMaxAge(60*60); //1시간 %> | cs |
세션의 유효시간
세션은 session객체가 사용될 때마다 최근의 접근한 시간이 갱신됩니다.
getLastAccessedTime()를 이용하면 최근에 접근한 시간을 알 수 있습니다.
물론 page디렉티브에서 session의 속성값을 "false"로 설정했다면 세션을 사용하지 않으므로 필요가 없겠죠.
그리고 세션은 최근 접근시간, 즉 마지막으로 접근한 시간 이후로 일정 시간동안 세션에 접근을 하지 않게되면 세션은 자동으로 종료됩니다. 예를 들어 세션시간이 한시간이라면~
최근의 접근시간 이후, 한시간이 지난후 다시 세션사용을 요청하면 새로운 세션이 생성이 되는거죠.
그럼 이 세션의 유효시간을 어떻게 설정하느냐~!!
방법은 두가지 정도있습니다.
첫번째는 WEB-INF/web.xml에서 <session-config>태그에서 세션 유효시간을 정해줄 수 있습니다.
1 2 3 4 5 6 7 8 9 | <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>session</display-name> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app> |
이때 유효시간의 단위는 "분"이므로 30분이 됩니다.
두번째는 session객체가 제공해주는 setMaxInactiveInterval()을 이용하는 방법입니다.
1 2 3 | <% session.setMaxInactiveInterval(60*50); %> |
이때 유효시간의 단위는 "초"이므로 3000초 즉, 50분이 되겠네요.
두 방법의 단위를 유의해야 되겠습니다.
지난번 큐넷사이트에서 경험했는데요 일정시간이 지나면 로그아웃이 되어버리더라구요.
이게 세션기술을 이용한 경우가 아닌가 싶습니다.
'프로그래밍 > JSP' 카테고리의 다른 글
[JSP] 19. JavaBean(자바빈)이란? (0) | 2015.08.12 |
---|---|
[JSP] 18. 예외페이지(에러처리) (0) | 2015.08.07 |
[JSP] 16.쿠키와 세션 - 세션(Session) (0) | 2015.08.06 |
[JSP] 15. 쿠키와 세션 - 쿠키(Cookie)_쿠키의 수정및 삭제 (0) | 2015.08.06 |
[JSP] 14.쿠키와 세션 - 쿠키(Cookie) (0) | 2015.08.06 |