[Web] Day10 - Session / 회원가입(Servlet) / 쿠키(Cookie)

sue·2024년 1월 17일

📒국비학원 [Web]

목록 보기
12/21
post-thumbnail

✏️ Session

: 웹 애플리케이션에서 사용자 상태 유지하기 위해 쓰이는거
(ex,장바구니, 상단에 떠있는 이름정보 등)



  • HttpSession session = req.getSession();
    세션을 생성하거나 기존 세션을 가져오는 역할

  • CustomInfo info = (CustomInfo)session.getAttribute("customInfo");
    세션에서 "customInfo"라는 이름으로 저장된 정보를 가져오는 역할

  • MemberDTO dto = dao.getReadData(info.getUserId());
    이 코드는 데이터베이스에서 사용자 정보를 가져오는 역할

  • session.setAttribute("memberDTO", dto);
    세션에 "memberDTO"라는 이름으로 MemberDTO 객체(dto)를 저장하는 역할

  • req.setAttribute("dto", dto);
    요청(request) 객체에 "dto"라는 이름으로 MemberDTO 객체(dto)를 저장하는 역할


1. ⭐ Table 생성 /

✅ 서블릿을 활용한 로그인 처리

①회원가입시 필요한 테이블 생성


서블릿 생성
DTO/DAO.java 만들기
④ 폴더구분 / created.jsp 생성

✏️ Test1.

💻 입력

⬇️ MemberDAO.java

  • 회원가입할 때 insert 메서드
  • 저장된 데이터 id 하나로 읽어오는 메서드

-> 이걸로 로그인 버튼 누르면 DB안에 있는 Id로 select하고, 저장된 비밀번호 비교확인


⬇️ created.jsp

  • 외*내부 link 불러오기


    회원가입 디자인해주기


  • 처음에 디자인은 서블릿화 안시켰으므로, 진짜 주소에서 디자인 봐야함


✅ 첫번째 입력화면 -> 서블릿화 시키기


로그인 : session

  • id/pwd입력한 뒤 일치하면 db(session)이 일치하면 출력
  • 하나이상의 데이터를 올릴땐 class에 넣고 class를 통채로 올려서 거기서 빼서 사용 (=dto와 만드는 방법 동일)

메세지 변수에 담아 나중에 오류띄우기


servlet 로그인 만들기

메세지 송출


jsp는 session이 자동으로 올라와져있어서 바로 <&session&>쓸 수 있음
But, 클래스에선 session이 안나오므로, 빌려와야 함.

HttpSession session = req.getSession();
: request가 가지고있는 session 가져옴

session 하나의 클래스에 담아두고, 클래스안에서 꺼내 쓰기 (session여러개 만들어도 상관없음)



<c:when test="${empty sessionScope.customInfo.userId }"></c:when>
session영역이 비어있으면 userId가 비어있다!

(1)방법

(2)방법


로그인안하면 게시판만 보임

  • 게시판에 들어가서 글 올리려고 하면, 로그인창이 뜸


로그인하면 모든 게시글이 다 보이고, 글 올리기도 자동으로 됨


글 올리기 누르면 로그인하게 만들기

게시글 올릴때 작성자 데이터 넘어오는 방법


2. ⭐ 쿠키삭제

✅ 쿠키

: DB를 안쓸 때, 쿠키를 통해 사용자가 이전에 방문한 페이지, 로그인 정보, 장바구니에 담긴 상품 등을 저장할 수 있음


✏️ Test2.

  • 사용자가 접속한 cookie1.jsp에 쿠키를 저장하고,
    cookie2.jsp는 그걸 읽어줌

💻 입력

: 쿠키를 하나 내보내는지 여러개 내보내는지 모르니까 배열로 보냄


: 쿠키를 하나 내보내는지 여러개 내보내는지 모르니까 배열로 보냄

설정 -> 개인정보 보호 -> 삭제 누르면 [쿠키 지워짐]


출력할때 Encode안해주면 에러날 수 있음! 조심!

읽어올때 decode



💻 입력

제품명 / 가격 (쿠키)


✅ [최근 본 상품] 만들기 - 최신순

⬇️ shop.jsp


✅ [장바구니] 만들기

: DB에 저장

✅ [팝업창] 만드는 법

  • 10초간격으로 팝업삭제 후 다시 나타남

0개의 댓글