찜하기 기능

my_mon·2022년 10월 15일

<구현 목표>

  1. 찜하기 클릭시 로그인 검증
    • 비회원일 시 반영 안됨(로그인 알림창 띄우기)
    • 회원일 시 찜하기 반영
  2. 찜하기는 유저마다 1회로 제한
    • 유저가 한 상품을 여러번 찜할 수는 없다.
    • 찜한 상품을 한번 더 찜하면 찜하기가 해제된다.
  3. 찜하기 및 찜하기 해제 후 다른 메뉴를 다녀와도 현상유지
    • 다른를 다녀왔을때 찜하기가 초기화가 되면 안된다.

우선 세가지를 목표로 잡고 구현에 들어갔다.

<구현>

1. 하트모양 아이콘에 id값을 설정한 후 클릭 시 jQuery 이벤트가
- 비회원일 시 ("로그인 후에 예약이 가능합니다.") 메세지 호출 후 return false;
2. 찜하기를 담당하는 서블릿으로 AJAX 이용하여 비동기 호출
3. 요청받은 서블릿에서 찜하기 요청 처리

- 회원번호, 상품번호를 받아옴
- 중복 클릭 유효성검사(찜한상태 : 1 / 찜 안한상태 : 0)
- 0일경우 찜하기 DB에 삽입하는 메소드 실행 : 하트모양 색상채워짐
- 1일경우 찜하기 DB에서 삭제되는 메소드 실행 : 하트모양 색상 지워짐
4. 다른메뉴 방문 후 다시 돌아왔을때 유지되도록 해당상품 서블릿에 중복클릭 유효성검사 설정

순서대로 진행!
하트모양 아이콘 클릭 시 페이지 깜빡임 없이 요청이 처리되도록 AJAX로 비동기로 요청을 보낸 후 서블릿에서 중복클릭 여부를 검증하여 결과에 따라 다르게 처리되도록 했다.

profile
기록하는 사람

0개의 댓글