2-14 서블릿, jsp(2)

서현우·2022년 5월 23일
0

복습

목록 보기
11/34

HTTP 특징 - stateless, 상태정보저장X
따라서 저장소 필요.
접근범위와 생존기간에 따라 4개의 저장소가 Map의 형태로 있음.
공통적으로 쓰기(저장)는 setAttribute(), 읽기는 getAttribute()
removeAttribute(), getAttributeNames()

  1. pageContext
    lv 저장, 기본객체(request, response ...)
    범위는 같은 페이지(jsp) 안에서만 접근(읽기, 쓰기) 가능.
    EL은 lv에 직접 접근 불가능하기 때문에 pageContext에 먼저 저장 후 EL로 사용.
    따라서 같은 페이지 안에 있는 lv라도 pageContext저장소에 저장해서 읽어오게 함.
    요청 할 때마다 초기화 됨.

  2. application
    webApp전체(Servlet Context전체)에서 접근가능.
    딱 1개만 존재하는 공통저장소.
    로그인 같은 경우 개별적인 아이디를 저장하기에는 부적합.
    id=asdf => id=aaa 이렇게 다른 사용자마다 계속 바뀌기 때문에.

  3. session
    각 클라이언트 별로 1개씩 있는 개별 저장소(1:1).
    id, 장바구니 담기 적합.
    사용자 수 만큼 생기므로 서버 부담(메모리 부담)이 제일 큼.
    따라서 최소한의 데이터만 저장해야 함.

  4. request
    request객체가 가진 Map형태의 저장소.
    요청이 끝나면 없어지므로 부담이 제일 적음.
    요청할 때마다 하나씩 생기고 서로 독립적.
    request --> a.jsp(보통의 경우)
    request --> a.jsp --> b.jsp(forward)
    request객체로 a.jsp를 거쳐서 b.jsp에 데이터를 전달하고 싶을 때 forward로 가능.
    부담이 제일 적으므로 데이터 전달에 유리.

profile
안녕하세요!!

0개의 댓글