세션 종료 / 타임 아웃
*session.invalidate() 을 이용해서 세션 종료
-세션이 종료되면 기존에 생성된 세션이 삭제
-이후 접근 시 새로운 세션 생성 됨.
*마지막 세션 사용 이후 유효 시간이 지나면 자동 종료
-session 기본 객체의 setMaxInactiveInterval() 메소드 이용해서 지정.
session 기본 객체에 저장될 값 타입
*필요한 값을 개별 속성으로 저장하는 것 보다는
-유지보수 불편함
*속성을 하나로 묶은 자바 클래스를 작성해서 저장하는 것이 좋음
-유지 보수 편리함
예를들자면 id/pw/name 따로 저장하지말고, id/pw/name을 멤버로 갖는 Member 구조체로 쓰라는말이다.
session관련 기본 테스트를 해볼 jsp파일을 만들어서 테스트 해보자.
*세션 정보를 볼 sessionInfo.jsp
시간을 이쁘게 출력하기 위해서 SimpleDateFormat을 사용하였다.
<body>
<%
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
%>
세션 ID : <%= session.getId() %>
<br>
세션 생성 시간 : <%= sdf.format(new Date(session.getCreationTime())) %>
<br>
세션 최종 시간 : <%= sdf.format(new Date(session.getLastAccessedTime())) %>
</body>
*세션 유지되는 시간을 지정할 수 있는 setSessionTime.jsp
<body>
<%
session.setMaxInactiveInterval(10);
%>
</body>
기본적으로 세션 유지시간은 지정해주지 않으면 30분이다. 괄호 안에 숫자를 넣어주면 세션 유지시간 조정가능(초단위).
*로그인이 성공했다고생각하고 로그인 된 정보를 세션에 담아보자. setMemberInfo.jsp
구조체로 담는다!!
<body>
<%
session.setAttribute("isLogin", true);
Member member = new Member();
member.setName("홍길동");
member.setId("gil");
session.setAttribute("member", member);
%>
*로그인이 정보를 볼 getMemberInfo.jsp
<body>
<%
if(session.getAttribute("isLogin") != null)
{
Member member = (Member) session.getAttribute("member");
out.println("아이디 : " + member.getId());
out.println("<br>");
out.println("이름 : " + member.getName());
}
else
{
out.println("로그인 되있지 않습니다.");
}
%>
</body>
*세션을 죽이는 페이지 sessionClose.jsp
<body>
<% session.invalidate(); %>
</body>
**테스트 해보는법!
이렇게 작성하시고, getMemberInfo 실행해서 로그인 안된거 확인하시고, setMemberInfo한번 실행 후 다시
getMemberInfo에서 세션에 저장된 회원정보가 출력되는 것을 확인해본다.
세션에 저장된 회원정보가 출력되는 것을 확인해보고, setSessionTime 한번 실행 후 10초 후 getMemberInfo 확인해보자!
setMemberInfo → getMemberInfo 확인
sessionClose → getMemberInfo 세션 삭제된 것 까지 확인해보자!
'[JSP]' 카테고리의 다른 글
[JSP]11월 4일 Servlet, EL표현식, JSTL제어문을 사용해 게시판 만들기 예제(jsp 파일에 JAVA 코드 다 빼고!) (0) | 2015.11.04 |
---|---|
[JSP]11월 2일 게시판 만들기 예제( 읽고,쓰고,삭제,수정 기능이 담긴 게시판) (0) | 2015.11.03 |
[JSP]10월 28일 JSP에서 DB(데이터베이스)에 저장하기 예제. (0) | 2015.10.30 |
[JSP]10월 28일 CookieBox 만들기예제 (0) | 2015.10.30 |
[JSP]10월 28일 forward, form, 쿠키(Cookie), 쿠키삭제 를 활용한 로그인 예제 (0) | 2015.10.29 |