[JSP] 06. 세션(Session)

Min's Study Note·2023년 11월 10일
0

JSP

목록 보기
8/16
post-thumbnail

▣ 세션이란

  • 클라이언트가 웹 브라우저를 통해 서버에 접속한 후 용무를 처리하고
  • 웹 브라우저를 닫아 서버와의 접속을 종료하는 하나의 단위를 뜻함
  • 세션은 클라이언트가 서버에 접속해 있는 동안 그 상태를 유지하는 것이 목적

▣ 세션의 주요 메서드

▣ 유지 시간 설정

▣ 세션의 동작 방식

  • 웹 브라우저가 처음 접속하면 서버(톰캣)는 세션을 새로 생성
  • 응답 시 세션 아이디를 값으로 갖는 JSESSIONID 쿠키를 응답 헤더에 담아 웹 브라우저로 보냄
  • 웹 브라우저는 재 요청 시마다 JSESSIONID를 요청 헤더에 추가하여 보냄
  • 서버는 요청 헤더에 포함된 JSESSIONID로 해당 요청이 기존 세션에서 이어진 것임을 확인

▣ 설정값 확인

✔️ 예제 6-2] 06Session/SessionMain.jsp

▣ 세션 삭제

  • 웹 브라우저를 닫으면 세션은 삭제됨
  • 웹 브라우저 ⇒ 설정 ⇒ [개인정보 및 보안] 영역에서 삭제해도 됨
  • 톰켓은 세션아이디를 값으로 갖는 JSESSIONID 라는 쿠키를 통해 세션 영역에 상태를 유지해야 하는 값들을 저장
  • 따라서 쿠키 삭제를 통해 세션을 지울 수 있음

세션과 DB를 이용한 로그인 구현

▣ DB연동을 통한 로그인 처리

DTO

  • Data Transfer Object
  • 계층 사이에서 데이터를 교환하기 위해 생성하는 객체
  • 별 다른 로직 없이 속성(멤버 변수)과 그 속성에 접근하기 위한 게터/세터 메서드로만 구성
  • 값만 가진 객체라 하여 VO(Value Object)라고 하기도 함

DAO

  • Data Access Object
  • 데이터베이스의 데이터에 접근하기 위한 객체
  • 보통 JDBC 를 통해 구현하며, 하나의 테이블에서 수행할 수 있는 CRUD를 전담
  • CRUD란 Create(생성), Read(읽기), Update(갱신), Delete(삭제) 작업을 말함

▣ 쿠키 vs. 세션

  • 로그인은 쿠키보다는 세션을 이용해 구현하는 것이 좋음

▣ 핵심요약

  • 클라이언트의 상태 정보를 저장하는 방법에는 쿠키와 세션이 있음
  • 쿠키
    - 상태 정보를 클라이언트 PC에 저장
    - 보안 측면에서 크게 중요하지 않은 정보 저장시 활용
  • 세션
    - 상태 정보를 서버에 저장
    - 보안이 중요한 정보 저장시 활용
  • 세션은 클라이언트가 웹 브라우저를 통해 접속 후 종료시점까지의 단위를 뜻함
  • 유지 시간 설정은 web.xml을 이용
  • 유지 시간동안 아무런 동작이 없다면 소멸되지만, 동작이 있다면 유지됨

0개의 댓글

관련 채용 정보