Spring(7)

9mond·2023년 10월 4일
0
post-thumbnail

1. Model

  • forward 방식

2. RedirectAttributes

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

3. jsessionid

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

4. 로그인 상태 유지하기 - 쿠키 사용

  • 영속쿠키 : 만료 날짜를 입력하면 해당 날짜까지 유지

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

5. 로그인 상태 유지하기 - 세션 사용

  • 서블릿 HTTP 세션

  • session create 옵션
    -> request.getSession(true);
    : request.getSession();
    : 세션이 있으면 기존 세션 반환, 세션이 없으면 새로운 세션 생성 후 반환

    	-> request.getSession(false);
    	: 세션이 있으면 기존 세션을 반환, 없으면 새로운 세션을 생성하지 않고 null을 반환
  • session timeout 설정
    -> 기본 시간 30분
    -> server.servlet.session.timeout=60
    -> 60 : 60초를 의미
    -> 1800 : 30분을 의미(기본값)

profile
개발자

0개의 댓글

관련 채용 정보