웹 페이지를 요청하면 JSESSIONID가 쿠키 안에 자동으로 생성되서 같이 요청한다
그래서 어떤 웹 페이지에서 요청을 하게되면 그게 어떤 브라우저인지 쿠키의 JSESSIONID를 확인해서
그 페이지에 요청 정보를 주게된다
웹 페이지마다 쿠키 저장소가 만들어져 있다
자주 사용하는 것
이 3개는 꼭 기억할 것 (엄청 많이 사용한다)
위 3개를 제외하고 잘나오는 것
세션 생성
session01.jsp
로그인을 위한 아이디 비밀번호 작성과 전송 버튼
session01_process.jsp
미리 설정된 아이디와 비밀번호를 쳐서 내가 친 아이디와 비밀번호가 같은지 확인하는 페이지
session02.jsp
application.getAttribute는 다른 브라우저에서도 아이디값을 가져와 볼수 있게 해주는 것
결과
세션확인을 눌러서 userID 와 userPW가 잘 나오는지 확인하는 페이지
session03.jsp
지금 사용하는 웹 브라우저의 세션ID값을 확인할 수 있는 페이지
지금 사용하는 웹 브라우저의 세션 속성 이름과 세션 속성 값을 확인하기 위해 작성한 코드
결과
이 결과 값이 크롬에서 서버에 요청했을때 새로생긴 세션ID이다 이 ID로 크롬에서 보낸것을 알 수 있다
sessionInfo.jsp
Date와 DateFormat을 사용해서 시간 값을 저장하고 Date 객체의 시간값을 지정한 양식으로 출력
결과
세션이 생성된 시간과 최근 접근 시간을 나타내준다
새로고침을 하게되면 최근 접근 시간이 현재 접근한 시간으로 바뀌는것을 볼 수 있다
Invalidate()을 이용한 방법
closeSession.jsp
세션을 삭제하는 방법
sessionInfo.jsp에 추가
sessionInfo.jsp에서 새로운 세션ID를 삭제하고 새로운 세션을 만들어준다
이렇게 되면 기존 세션정보가 사라지고 새롭게 생성되기 때문에 세션ID가 바뀐다
결과
web.xml 에서 설정
세션 유효 시간 설정 1) web.xml에서 설정 2) jsp에서 설정
1분 타이머를 주고 1분이 지나면 새롭게 세션id를 설정해준다
기본 설정이 30분이기 때문에 30분으로 적용해 놓는다
장바구니 만들기
ProductVO.java
추가
장바구니에 상품을 담은 개수를 확인하기 위해 새로운 필드를 생성한다
product.jsp
장바구니 버튼 만들기
상품 주문을 눌렀을때 장바구니로 넣어지게 만든다
body 안쪽을 document라고 하고 addForm은 form안쪽에 있는 addForm값을 가져온다
addCart.jsp
cart.jsp
장바구니 상세페이지를 만든다
상품 개개인에 삭제버튼을 만들어서 그 상품만 삭제 할수 있게 만든다
총액을 보여주는 기능을 구현한다
상품 금액을 누적시키기 위해서 위if문 위에
작성
결과
removeCart.jsp
장바구니에 상품을 한개씩 삭제하는 페이지
deleteCart.jsp
장바구니를 한번에 삭제하는 페이지
전체 삭제를 하게되면 sessionId가 값이 바뀐다