2025-09-27

오늘 배운 것

Cookie & Session & Exception Handling

HTTP 특징

  • Stateless: 서버는 요청 간 상태 저장 X
  • 장점: 단순성, 확장성, 신뢰성, 자원 절약
  • 단점 보완 → Cookie, Session 활용

  • 클라이언트에 저장되는 데이터 (서버가 생성)
  • jakarta.servlet.http.Cookie 로 구현

주요 속성

  • name: 고유 식별자 (중복 시 덮어씀)
  • value: 값 (한글 가능)
  • path: 유효 경로 (미설정 시 context root)
  • maxAge: 유효기간 (양수=초 단위, 음수=세션 쿠키, 0=즉시 삭제)
  • secure / httpOnly: 보안 관련 옵션
  • 확인: DevTools → Application → Cookies

활용

  • 최근 구구단 기억하기 같은 작은 상태 저장에 활용

Session

  • 서버에 저장되는 상태값
  • 브라우저당 1개 세션 성립
  • JSESSIONID 쿠키 필요 (세션 공간 키)

HttpSession

  • 획득: request.getSession()
  • 주요 메서드: setAttribute, getAttribute, invalidate
  • 유효기간: setMaxInactiveInterval(int sec) or web.xml 설정

로그인/로그아웃

  • 로그인 시 세션에 사용자 정보 저장
  • 로그아웃 시 session.invalidate()
  • remember-me 쿠키로 편의 기능 제공 가능

SessionFilter

  • 세션 없는 사용자의 특정 페이지 접근 차단

Exception Handling

  • 원칙: 예외 정보를 클라이언트에 직접 노출하지 않기
  • 사용자용 페이지 + 내부 로깅 병행

404 처리

  • 컨트롤러 없음 → forward로 404 페이지 or WAS 기본 처리
  • 경로 자체 없음 → WAS 기본 처리

500 처리

  • Checked Exception → try~catch 처리 or ServletException wrapping 후 전달
  • Unchecked Exception → WAS로 전달

WAS 활용

  • web.xml에 에러 페이지 매핑 가능
  • DispatcherType.ERROR 필터로 예외 모니터링

results matching ""

    No results matching ""