■ 세션(Session) 객체 사용하여 값을 저장하고 얻어오기
-. 웹 브라우저 당 한개씩 자동 생성되는 세션에 값을 저장하거나 세션에 저장된 값을 사용해 본다.
-. 세션에 값 저장하기 위해서는 session 객체의 setAttribute 메소드를 사용
-. 세션에 저장된 값을 얻기 위해서는 session 객체의 getAttribute 메소드를 사용
01. 세션(Session)에 값 저장하기
형식 |
session.setAttribute(String name, Object value); |
-. session에 값을 저장하기 위해서는 그 값을 저장하는 대상을 식별하기 위한 키가 있어야 한다.
-. name이 바로 세션에 저장된 특정 값을 찾아오기 위한 키로 사용된다.
-. 이 키와 일대일 대응으로 저장하고 싶은 값을 value 위치에 지정한다.
-. name과 value는 1:1 대응이다.
-. name은 String 형으로 들어가고 value는 Object형이어야만 한다.
(즉 int, doublic, char등의 primitive 형은 사용할 수 없다.)
-. 동일한 이름으로 세션에 저장하게 되면, 항상 덮어씌우게 된다.
02. 세션(Session)에 저장된 값 얻어오기
형식 |
Object getAttribute(String name) |
-. 세션에 저장된 값을 얻어오기 위해 사용되는 getAttribute 메소드를 사용한다.
-. 세션 객체 안에 지정한 name에 해당되는 속성이 없으면 getAttribute가 null 값을 되돌린다.
-. 주의할 점은 반환되는 값이 Object형이기 때문에 반드시 적절한 형변환을 해야한다.
-. 세션에 저장된 값을 String 형태로 얻어오려면 cast 연산자로 형 변환을 해야한다.
왜냐하면 getAttribute 메소드는 결과값을 Object 형으로 되돌리기 때문이다.
-. 세션 내부에서는 이를 Object 형으로 관리하고 이를 되돌려질 때에도 Object형으로 되돌린다.
-. 만일 primitive 형인 int변수에 저장하려면 레퍼 클래스인 Integer 형으로 변환해야 하낟.
# 세션에 값 저장하고 저장된 값 얻어오기
setAttribute.jsp (세션에 값 저장하기) |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
소스보기 |
출력화면 |
getAttribute.jsp (세션에 저장된 값 얻어오기) |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
소스보기 |
출력화면 |
03. getAttributeNames 메소드와 Enumeration 인터페이스
-. getAttributeNames 메소드는 세션에 들어있는 모든 키 값을 가져오기 위해서 사용되는 메소드이다.
이 키 값들은 Enumeration 형으로 변환된다.
형식 |
Enumeration getAttributeNames(); |
-. Enumeration형은 데이터를 뽑아올 떄 유용한 인터페이스(Interface)로써 손쉽게 포함된 모든 데이터를 뽑아올 수 있다.
-. Enumeration 객체는 java.util 패키지에 정의되어 있으므로서 사용하려면 java.util.Enumeration을 import 시켜야 한다.
-. setAttribute 메소드에 의해 설정된 세션값들이 getAttribute에 의해 Enumeration형으로 반환된다.
-. Enumeration 객체는 여러 아이템들을 저장하는 컬렉션 클래스의 일종이다.
-. Enumeration 객체에 여러 아이템들을 뽑아오기 위해서는 hasMoreElements와 nextElement 메소드를 적절하게 사용해야 한다.
메 소 드 |
설 명 |
hasMoreElements |
-. Enumeraion 객체에 뽑아올 데이터가 있는지를 검사하여 있다면 true를 더이상 데이터가 존재하지 않는다면 false를 리턴한다. |
nextElement |
-. 다음 아이템이 존재한다는 전제하에서 아이템을 하나씩 뽑아오는 역할을 한다. -. nextElement 메소드도 getAttribute 메소드처럼 Object형으로 값을 반환하므로 이를 형 변환 해야 한다. |
# 설정된 모든 세션의 키와 값을 얻어와 출력하기
getAttributeNames.jsp |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
소스보기 |
출력화면 |
'JSP > JSP Programming' 카테고리의 다른 글
[JSP] 세션(Session) 값 삭제하기 - removeAttributeAttribute - (0) | 2012.06.04 |
---|---|
[JSP] 세션(Session) 정보 얻어오기 (0) | 2012.06.04 |
[JSP] 상태 유지를 위한 세션(Session) 객체 (0) | 2012.06.02 |
[JSP] 쿠키를 이용한 회원 인증 프로그램 (0) | 2012.06.02 |
[JSP] 쿠키를 이용한 마지막 방문일을 표시하는 프로그램 (0) | 2012.06.02 |