[Spring] 실습 (mylogin)

형이·2023년 10월 11일

Spring

목록 보기
13/21
post-thumbnail

📝 Spring

🖥️ 1. Model

  • forward 방식

🖥️ 2. RedirectAttribute

  • redirect 방식
  • 전달한 값은 url 뒤에 붙지 않는다. 일회성이라 리프레시 할 경우 데이터가 소멸한다.

🖥️ 3

http://localhost:8080/;jsessionid=F59911518B921DF62D09F0DF8F83F872

  • 로그인을 처음 시도하면 URL이 위와 같이 jsessionid를 포함하고 있는 것을 확인할 수 있다.
  • 이것은 웹 브라우저가 쿠키를 지원하지 않을 때 쿠키 대신 URL을 통해서 세션을 유지하는 방법이다.
  • 타임리프 같은 템플릿 엔진을 통해서 링크를 걸어두면 jsessionid를 자동으로 URL에 포함시켜준다.
  • URL 전달 방식을 끄고 항상 내부 로직을 통해서 세션을 유지하고 싶다면 옵션 추가를 하면 된다.
  • jsessionid 제거

    	server.servlet.session.tracking-modes=cookie

🖥️ 4. 로그인 상태 유지하기 : 쿠키 사용

  • 영속 쿠키 : 만료 날짜를 입력하면 해당 날짜까지 유지
  • 세션 쿠키 : 만료 날짜를 생략하면 브라우저 종료 시까지만 유지

🖥️ 5. 로그인 상태 유지하기 : 세션 사용

  • 서블릿 HTTP 세션
  • session create 옵션

    	1) request.getSession(true);
    	   : request.getSession();과 동일
    	   : 세션이 있으면 기존 세션 반환, 세션이 없으면 새로운 세션 생성 후 반환
    
    	2) request.getSession(false);
    	   : 세션이 있으면 기존 세션 반환, 세션이 없으면 새로운 세션 생성하지 않고 null을 반환
  • session timeout 설정

    • 기본 시간 30분
    • server.servlet.session.timeout = 60
    • 60 : 60초를 의미
    • 1800 : 30분을 의미 (기본값)

0개의 댓글