본문 바로가기

JSP, Servlet/JSP, Servlet 기초

[JSP/Servlet] 세션 지우기

특정 세션을 지울 수 있다.

<%@ 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>");
	}
	out.println("<h3>세션 값 삭제 전(일반 출력)</h3>");
	out.println("<br>name1 : " + (String) session.getAttribute("name1"));
	out.println("<br>name2 : " + (String) session.getAttribute("name2"));
	out.println("<br>name3 : " + (String) session.getAttribute("name3"));
	
	// 세션값 제거하기
	out.println("<h3>세션 값 삭제 후(Enumeration 사용)</h3>");
	session.removeAttribute("name2");
	names = session.getAttributeNames();
	while(names.hasMoreElements()){
		String name = names.nextElement().toString();
		String value = session.getAttribute(name).toString();
		out.println(name + " : " + value + "<br>");
		}
	out.println("<h3>세션 값 삭제 후(일반 출력)</h3>");
	
	out.println("<br>name1 : " + (String) session.getAttribute("name1"));
	out.println("<br>name2 : " + (String) session.getAttribute("name2"));
	out.println("<br>name3 : " + (String) session.getAttribute("name3"));
	%>
</body>
</html>

 

 

 

 

아니면 모든 세션을 초기화 할 수 있다.

<%@ 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
반응형