본문 바로가기

JSP/JSP Programming

[JSP] 세션(Session) 값 삭제하기 - removeAttributeAttribute -

반응형

세션(Session) 값 삭제하기 - removeAttributeAttribute -


 -. 지정된 이름에 해당하는 객체를 해당 세션에서 제거하기 위해서 removeAttribute 메소드를 사용한다.

형식

void removeAttribute(java.lang.String name)


# 세션에 저장된 특정 객체 삭제하기

 removeAttribute.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import = "java.util.Enumeration" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>세션에 저장된 특정 객체 삭제하기</title>
</head>
<body>
<center>
    <h3>[  설정된 세션 값을 삭제하는 예제  ]</h3>
</center>
removeAttribuenames() 메소드를 사용하여 세션값을 삭제하는 예제
<%
    String s_name;
   
    // 세션의 키 이름을 지정하여 값들을 저장한다.
    String s_value = "저는 세션에 저장된 첫 번째 값이에요 ^o^";
    session.setAttribute("s_name1", s_value);
   
    s_value = "저는 세션에 저장된 두 번째 갑이에요 ^o^";
    session.setAttribute("s_name2", s_value);
   
    s_value = "저는 세션에 저장된 세 번째 갑이에요 ^o^";
    session.setAttribute("s_name3", s_value);
   
    out.print("<hr/><h3>----- 세션값을 삭제하기 전 -----</h3>");
   
    // session 객체의 getAttributeNames 메소드를 사용하여 현재 세션에 설정된

    // 모든 킷값에 대한 정보를 저장하고 있는 Enumeration 객체를 받아온다.
    Enumeration enum_app = session.getAttributeNames();
   
    int i = 0;
   
    // 이름이 enum_app인 Enumeration 객체에 세션들이 존재하는지 검사한다.
    // 존재하면 해당 세션에 저장도니 키 이름과 값을 뽕아 와서 출력하는 것을 반복한다.

    while (enum_app.hasMoreElements()) {
       
        i++;
        s_name = enum_app.nextElement().toString();
        s_value = session.getAttribute(s_name).toString();
        out.println("<hr/>얻어온 세션 이름 [ " + i + " ] : " + s_name);
        out.println("<br/>얻어온 세션 값 [ " + i + " ] : " + s_value);
    }
   
    // removeAttribute 메소드를 사용하여 이름이 "s_name2"인 세션의 값을 삭제한다.
    session.removeAttribute("s_name2");
    out.print("<hr/><h3>----- 세션값을 삭제한 후 -----</h3>");
    enum_app = session.getAttributeNames();
   
    i = 0;
   
    // 세션에서 s_name2 이름에 해당되는 값을 삭제한 후 삭제된 결과를 관찰하기 위해 다시 출력한다.
    while (enum_app.hasMoreElements()) {
       
        i++;
        s_name = enum_app.nextElement().toString();
        s_value = session.getAttribute(s_name).toString();
        out.println("<hr/>얻어온 세션 이름 [ " + i + " ] : " + s_name);
        out.println("<br/>얻어온 세션 값 [ " + i + " ] : " + s_value);
    }
%>
</body>
</html>

 출력화면


반응형