세션이란?
HTTP에서 통신을 할 때, 사용자(client)와 서버간 요청과 응답 등으로 데이터를 주고 받게 된다. 이 때, 연결이 끊어진 이후에도 사용자에 대한 정보를 기억하기 위해 서버에서 데이터를 보관하는 방법이 세션(session)이고, 사용자 측에서 데이터를 보관하는 방법이 쿠키(Cookie)이다.
스프링-lombok에서 세션 어노테이션
스프링-lombok에서 세션을 사용하기 위해 다음 어노테이션을 주로 사용한다.
// loginMember는 세션에 저장된 속성값으로 처리된다는 의미
@SessionAttributes("loginMember")
public class TestController {
@GetMapping("/")
public String test1 (Model model,
// 세션에 있는 속성값 중 "loginMember"라는 이름을 가진 값을 이 메소드에서 사용하겠다는 의미
@SessionAttribute(name = "loginMember", required = false) Member loginMember
)
return "test";
}
세션의 메소드
또한 세션 객체를 생성/호출해서 메소드를 사용할 수 있다.
// 세션 객체 생성
// 사용자가 보낸 세션 ID값이 있으면 관련 객체 호출. 없으면 새 객체 생성
HttpSession session = HttpServletRequest.getSession();
// 세션에 "test"라는 속성이름으로 10이라는 속성값을 설정
session.setAttribute("test", 10);
// "test"라는 이름의 속성의 값을 호출
session.getAttribute("test");
// 세션 유지시간 설정
session.setMaxInactiveInterval(숫자);
// 세션에 등록된 속성들의 이름들 조회
seesion.getAttributeNames();
// 세션에 저장된 속성과 값 삭제
session.removeAttribute("test");
// 현 세션 삭제
session.invalidate();
'스프링' 카테고리의 다른 글
Spring MVC Project 로그인 프로세스 (1) | 2024.04.03 |
---|---|
Spring MVC Project의 구조 (0) | 2024.04.02 |
[Spring] 프로젝트에 Dependency추가하기 (+Json파싱) (0) | 2024.03.16 |
스프링 프로젝트에서 로그아웃 기능 만들기 (0) | 2024.02.22 |
이클립스 스프링 워크스페이스 인코딩 세팅 (0) | 2024.02.22 |