반응형
세션은 대부분 웹 애플리케이션에 필요한 개념이다. 서블릿은 세션을 위해 HttpSession이라는 기능을 제공하고 우리가 직접 구현한 것 보다 더 잘 구현되어 있다.
| HttpSession 소개
서블릿이 제공하는 HttpSession도 강의에서 만들어 본 SessionManager와 같은 방식으로 동작한다. 서블릿을 통해 HttpSession을 생성하면 쿠키의 이름이 JSESSIONID이고 값은 UUID와 같은 값을 생성하게 된다.
public static final String LOGIN_MEMBER = "loginMember";
데이터를 보관하고 조회할 때 중복 사용되므로 상수 하나를 정의했다.
//세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성
HttpSession session = request.getSession();
//세션에 로그인 회원 정보 보관
session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember);
return "redirect:/";
세션을 생성하려면 request.getSession(true)를 사용하면 되는데 true가 디폴트 값이기 때문에 따로 적어주지 않아도 된다.
true값을 넣으면 세션이 있을 때 세션을 반환하고 세션이 없을 때 생성해서 반환한다.
false값을 넣으면 세션이 있으면 기존 세션을 반환하고 세션이 없으면 세로운 세션을 생성하지 않고 null을 반환한다.
request.getSession()은 신규 세션을 생성하는 request.getSession(true)와 동일하다.
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
이번에는 세션을 삭제하는 방법이다.
session.invalidate()를 통해 세션을 제거할 수 있다.
이렇게 실행하면서 체크해 봐야 하는 부분이 있다. JESSIONID 쿠키가 정상적으로 생성하는 것을 확인할 수 있다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : Session TimeOut 설정하기 (0) | 2022.02.22 |
---|---|
[Spring Boot] : 서블릿 HTTP 세션을 활용해 로그인 처리하기(2) (0) | 2022.02.22 |
[Spring Boot] : 직접 만든 세션 적용하여 로그인 처리하기 (0) | 2022.02.21 |
[Spring Boot] : Session 직접 만들기 (0) | 2022.02.18 |
[Spring Boot] : Cookie 보안 문제와 대처 방안 (0) | 2022.02.18 |
댓글