-
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
선택 후 카트저장을 누르면 장바구니 보기의 페이지로 넘어감.
장바구니 보기 버튼을 누르면 아직 arraylist를 넣지 않아서 null이 나온다.
=> CartBasket 부분 서블릿 생성 + 세션 타임아웃 바꾸기
*200초 설정부분은 if의 널체크 바로 밑에 { 다음 들어가야 맞다.
쿠키의 발급 : server
응답은 header에 담아서
브라우저 기본메모리에 저장하면 브라우저 종료시 사라진다.
OS 파일에 저장하면 브라우저를 종료해도 사라지지 않는다. 타임아웃값을 지정해서 그 기간만큼 계속 살아있다.
쿠키에 저장할 수 있는 값은 String 뿐이다.
*세션은 모든 타입 저장 가능
product.html 수정
cookie 추가
CartSaveCookieServlet
Expire Max-Age 쿠키 만료시간 부여하면 product4에서 다르게 나타난 게 보인다.
+) 링크에 한글 넣으려면 url encoding이 필요하다. 16진수(한칸당 4bit) %FA%07%0A 등
deletecookie에서 setMaxAge(0) 이렇게 0초로 설정하면 제한이 없음을 뜻하여 브라우저 종료와 상관없이 항상 유지
'JSP-Servlet' 카테고리의 다른 글
0829. JSP/Servlet - URL, 웹서버와 웹컨테이너 (0) 2023.08.29 0829. 톰캣(Tomcat) 설치와 이클립스(Eclipse) 연동 (2) 2023.08.29