Itchild 2024. 4. 26. 12:08
728x90
반응형

 

★★★★★★★★★★★★★★★★★★★★★

// 장바구니 , 로그인 유지여부, 광고 띄우지 않기 설정 등

// 서버가 변경되어도 ' 브라우저가 유지되고 있었다면 설정이 유지되어야 하는 상태 '에 있는 데이터들을

// "세션(session)"으로 관리 !!!! 세션에 대해 배울 예정 <내장 객체>

// 일정시간이 흐르면 연결이 해제됨

// 은행어플에 로그인 연장 하시겠습니까 ? 이것도 세션을 쓴다

// 다른 브라우저 이면 세션이 없다 브라우저 끼리는 값을 공유 하지 않는다

// 같은 브라우저에서 두 창 이면 세션이 유지

★★★★★★★★★★★★★★★★★★★★★

 

session 사용

ex ) 사용자가 이 브라우저를 유지 하는 내내 장바구니가 유지 되어야 한다.

딴 서버 이용하더라도 이 브라우저가 유지 되었으면 장바구니가 유지 되어 있어야 한다

세션이 유지되지 못해서 광장으로 돌아갑니다.

만료 되어서 다시 돌아갑니다.

페이지가 만료 되어서 돌아갑니다.

 

session은 내장 객체 이기 때문에 따로 선언을 하지 않고 사용가능하다.

장바구니를 만든다 가정하고 session을 사용해보자

ProductVO 객체화 선언, ProductVO 배열리스트도 객체화

session.getAttribute("datas") ---> "datas"라는 이름 안의 value값들 가져와줘 ---> 그걸 dats라는 배열리스트에 담을거야 . 근데 담아오는 정보들이 String 이므로 객체배열에 맞게 (ArrayList<ProductVO>) 로 형변환 해줘

"product" 라는 상품에 대한 정보도 받아놓을거야 product 에

만약에 장바구니가 비어있다면 ? 첫번째 상품이라면 ?

datas 라는 상품배열리스트를 만들거고 "datas" 라는 이름으로 datas 값 보내줘

그러면 for문을 돌려서 정보의 그 이름과 상품의 그 이름이 일치한다면 그걸 담아줄거야 이제

참 , 거짓 boolean flag 식을 사용해서 장바구니에 담을지 말지를 판별 해준다.

 

- 상품의 이름과 내가 선택한 것의 이름이 같다면 중복이고, 중복이 되었을때 flag가 true로 바뀌며 장바구니 안에 이미 있다고 알림을 띄워준후 추가 하지 않고 되돌아 간다.

 

- 상품의 이름과 내가 선택한 것의 이름이 같지 않다면 , 장바구니에 추가되었습니다. 알림을 띄워준후 장바구니에 추가해준다.

 

728x90
반응형