ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 0904. 세션 관리
    JSP-Servlet 2023. 9. 5. 09:02

    *chapter 06 프로젝트 

     

    세션의 생성과 종료

    사용자의 상태 정보를 서버에서 관리

    일정시간 동작 없으면 자동 로그아웃됨 (세션만료)

    톰캣은 기본 30분으로 변경가능하고 금융권은 10분 정도이다.

     

    쿠키 : 리퀘스트 head에 세션값을 저장해서 클라이언트와 연결을 유지.

     

    세션아이디는 브라우저를 바꾸지 않는 이상 동일한 값이다.

    브라우저를 모두 종료하고 다시 열면 다른 값이 부여된 세션아이디가 생성된다.

    세션은 브라우저를 식별하는 것

     

     

     

    request 객체를 통해 getSessiong() 하면 session scope에 접근가능

    정보넣기 : set, 꺼내기 : get, 제거: remove

    세션시간 유지 기준은 : 처음 생성시간이 아니라 마지막 요청시점부터 연장되는 것 -> Time Out

    로그아웃 처리 : invalidate⭐

    세션관리 객체와 메서드

     

    product.html

    cartsaveServlet 

    여기서 utf-8은 응답의 문자셋 설정

    선택 후 카트저장을 누르면 장바구니 보기의 페이지로 넘어감.

    장바구니 보기 버튼을 누르면 아직 arraylist를 넣지 않아서 null이 나온다.

     

    => CartBasket 부분 서블릿 생성 + 세션 타임아웃 바꾸기

    *200초 설정부분은 if의 널체크 바로 밑에 { 다음 들어가야 맞다.

    이거 안 된 이유 bas't' 오타임

     

     


    쿠키의 발급 : server

    응답은 header에 담아서 

     

     

     

    브라우저 기본메모리에 저장하면 브라우저 종료시 사라진다.

    OS 파일에 저장하면 브라우저를 종료해도 사라지지 않는다. 타임아웃값을 지정해서 그 기간만큼 계속 살아있다.

    쿠키에 저장할 수 있는 값은 String 뿐이다.

    *세션은 모든 타입 저장 가능

     

    product.html 수정

    cookie 추가

     

    CartSaveCookieServlet

     

     

     

     

    Expire Max-Age 쿠키 만료시간 부여하면 product4에서 다르게 나타난 게 보인다.

     

    +) 링크에 한글 넣으려면 url encoding이 필요하다. 16진수(한칸당 4bit) %FA%07%0A 등

     

     

    deletecookie에서 setMaxAge(0) 이렇게 0초로 설정하면 제한이 없음을 뜻하여 브라우저 종료와 상관없이 항상 유지

     

     

     

     

     

Designed by Tistory.