[스프링] 쿠키 & 세션 이론 2

SOLEE_DEV·2023년 2월 26일
0

Spring

목록 보기
3/8
post-custom-banner

1. 세션 실습

[동작]
1. index.jsp -> board 클릭
2. BoardController.java -> 로그인? -(yes)-> boardList.jsp
-(no )-> loginForm.jsp
3. loginController.java -> id/pwd 일치? -(yes)-> index.jsp
-(no )-> loginForm.jsp

2. sessionScope

<c:set var="loginOutLink" value="${sessionScope.id == null ? '/login/login' : '/login/logout'}"/>
<c:set var="loginOut" value="${sessionScope.id == null ? 'Login' : 'LogOut'}"/>

3. redirect 처리

  • from 정보 : request.getHeader("refer")
  • to 정보 : request.getRequestURL()

4. 세션 시간 관리

  • 세션 유지 기간은 가능한 짧아야 한다.
session=true; // 새션 없을 때 새로 생성 O = default 값
session=false; // 세션 없을 때 새로 생성 X = false를 만나도 세션이 끝나지않음
  • session="false"
    - 세션이 필요없는 JSP 화면
    • session false가 기존 세션에 영향 X (새로 생성할지 말지만 결정!)
<%@ page session="false" %>

session="false"일 때 주의점 📢

  • sessionScope, pageContext.session은 사용 불가
  • sessionScope.id를 pageContext.request.getSession(false).getAttribute("id")로 변경해야 함!
  • (참고) getSession(true)는 session이 없는 경우 session을 새로 생성하기 때문에 session이 없어도 새로 생성하지 않도록 getSession(false)를 사용

5. 쿠키 값 반환 (@CookieValue)

  • @CookieValue("id") String cookieId : cookie 값 중에 "id"라는 키를 가지고 있는 애를 반환해줌
    ex) @CookieValue("JSESSIONID")
profile
Front-End Developer
post-custom-banner

0개의 댓글