Studying/Java

세션 (Session)

YOO'sssss 2023. 5. 8. 16:03

 

 

 

 

 request.getSession()  : Servlet에서 HttpSession 객체 얻기 위하여 request.getSession() 함수를 이용

 


HttpSession session = request.getSession();

 


setAttribute() : 세션 영역에 속성 값을 설정할 때 setAttribute() 함수를 이용

 


session.setAttribute("속성명",속성값);

 


.getAttribute() : 세션 영역에 저장된 속성 값을 이용할 때 getAttribute() 함수를 이용

리턴값이 Object 형이므로 변수에 저장해 사용할 때 타입 지정을 해준다. 값이 없다면 null을 리턴한다.

.getAttribute()는 선택한 요소(element)의 특정 속성(attribute)의 값을 가져옵니다.

 


문법
element.getAttribute( 'attributename' )

String ses = (String) session.getAttribute("속성명");

 


ex) 
var jb = document.getElementById( 'xyz' ).getAttribute( 'title' );
는 id의 값이 xyz인 요소의 title 속성 값을 변수 jb에 저장합니다.

 

 

 

 

 

■ 세션값 넣기
   session().setAttribute("SS_Userid", "관리자")
   request.getSession().setAttribute("SS_Userid", "관리자")

■ 세션값 읽기
   (String)session.getAttribute("SS_Userid")  // String 형식
   (String)request.getSession().getAttribute("SS_Userid")  // String 형식
   (Integer)session.getAttribute("SS_Userid")  // Integer 형식
   (Integer)request.getSession().getAttribute("SS_Userid")  // Integer 형식

■ 세션 타임아웃 설정
   session.setMaxInactiveInterval(60*60*1);

■ 세션값 초기화하기
session.invalidate();

■ 세션변수 목록 보기
javax.servlet.http.HttpSession의 getAttributeNames 사용하시면 됩니다.
java.util.Enumeration을 return합니다.

사용예)
Enumeration enum=session.getAttributeNames();
String tmp="";
while (enum.hasMoreElements())
 {
     tmp=(String)enum.nextElement();
     out.print("<br>"+tmp+":"+session.getAttribute(tmp));
}