본문 바로가기

JSP, Servlet/JSP, Servlet 기초

[JSP/Servlet] 세션 전체 지우기

세션 제거하기

 세션에 저장된 값들이 유지되면 이전의 정보를 다른 웹페이지에서도 사용 가능함. (기본 유효시간: 30분)
 세션이 더 이상 사용하지 않을 때 세션 설정값을 모두 제거해야 함.

 

session.invalidate();

해당 세션을 없애고 세션에 속해있는 모든 값들을 제거한다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Enumeration"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		session.setAttribute("name1", "세션값1");
	session.setAttribute("name2", "세션값2");
	session.setAttribute("name3", "세션값3");
	
	out.println("<h3>세션 값 삭제 전(Enumeration 사용)</h3>");
	Enumeration names = session.getAttributeNames();
	while(names.hasMoreElements()){
		String name = names.nextElement().toString();
		String value = session.getAttribute(name).toString();
		out.println(name + " : " + value + "<br>");
	}
	
	// 세션 제거하기
	session.invalidate();
	out.println("<h3>세션 삭제 후 결과</h3>");
	if(request.isRequestedSessionIdValid()){
		out.println("세션 아이디가 유효합니다.");
	}else{
		out.println("세션 아이디가 유효하지 않습니다.");
	}
	
	// 세션이 제거되어서 아래의 문장을 실행 불가능
	/*
	names = session.getAttributeNames();
	while(names.hasMoreElements()){
		String name = names.nextElement().toString();
		String value = session.getAttribute(name).toString();
		out.println(name + " : " + value + "<br>");
	}*/
	%>
</body>
</html>

 

 

728x90
반응형