Name Value Domain
sess_id ABE12... http://aaa.com
sid B1E36... http://bbb.com

세션 동작 방식

  1. 클라이언트가 서버에 요청을 보냄.
  2. 서버는 새로운 세션을 생성하고, 세션 ID를 발급하여 클라이언트에게 전달
  3. 클라이언트는 이후 요청마다 세션 ID를 서버에 전달
  4. 서버는 세션 ID를 이용해 클라이언트 정보를 식별하고 유지

메서드

메서드 설명
session.setAttribute(name, object) 세션에 데이터 저장
session.getAttribute(name) 세션에서 데이터 가져오기
session.removeAttribute(name) 세션 데이터 삭제
session.invalidate() 세션 종료

쿠키 vs 세션 비교

구분 쿠키 세션
클래스 Cookie HttpSession
저장 위치 클라이언트(브라우저) 서버
저장 형식 Text Object
만료 시점 유효 기간 설정 (브라우저 종료 후에도 유지 가능) 브라우저 종료 또는 invalidate() 호출 시 삭제
보안성 낮음 (클라이언트 저장, 변조 가능) 높음 (서버 관리)
리소스 사용 클라이언트 리소스 서버 리소스

세션 로그인 예제

(1) 로그인 화면 (session.jsp)

사용자가 아이디와 비밀번호를 입력하고 로그인 요청을 보낸다.


<form action="./proc2/LoginSession.jsp" method="Post">
    <input type="text" name="uid" placeholder="아이디 입력"><br>
    <input type="password" name="pass" placeholder="비밀번호 입력"><br>
    <input type="submit" value="로그인">
</form>

(2) 로그인 처리 (LoginSession.jsp)