[1] 저장소
(1) pageContext 저장소
lv 지역변수(reguest, response 등) 를 저장하는 저장소
${ } EL은 직접 접근이 안되기 때문에 지역변수를 저장해야지 읽어올수있다
EL때문에 사용한다고 보면 된다
1개의 jsp 페이지에서만 읽기 , 쓰기가 가능하다.
요청할때마다 초기화되어 같은 클라이언트가 반복요청을 해도 새로운 처리를 한다
(2) application 저장소
webApp = 서블릿 컨테스트 전체 범위에서 사용하는 저장공간이다
모든 클라이언트가 공유가 된다
어디에서나 접근 가능하다
저장소가 1개밖에 없다
(3) session 저장소
개별 저장소를 의미한다
클라이언트 별로 저장소를 사용할수 있도록 하기 위해 사용한다
a가 로그인한다 -> session a 사용중
b가 로그인 후 글쓰기 중이다 > session b 사용중
사용자수가 많을수록 개별 저장소가 많아지니 최소한의 데이터만 저장해야한다
사용자가 많을수록 서버 부담이 제일 크다
쿠키를 이용해서 어떤 session이 알맞는지 연결해준다
사용했다가 삭제하는 방법으로 사용을 한다
로그인할때 개별저장소를 사용하고 로그아웃할때 개별저장소를 나간다
사용자만 사용할수 있는 마이페이지, 장바구니 등 을 사용할때
클라이언트마다 각각의 session을 가지고 있고 n개의 jsp페이지에서 접근할수 있다
(4) request 저장소
요청할때마다 생긴다 요청이 끝나면 없어진다
1개이상의 jsp페이지에서 사용할수 있으나 forward를 통해 다른 jsp페이지로 전달이 가능하다
요청시 연결된 pageContext에서 응답을 안하고 forward하여 다른 pageContext를 통해 응답한다
웹페이지간 이동은 session 저장소가 편하긴 하나 서버 부담으로 인해 request 저장소를 선택하는것이 좋다
[2] 저장소의 메서드
메서드 | 설명 |
setAttribute() | 값value을 속성key에 저장하기 |
getAttribute() | 속성key에 저장된 값value을 반환하기 |
removeAttribute() | 속성key를 삭제한다 |
getAttributeName() | 객체에 저장된 모든 속성key이름을 반환한다 |