관리 메뉴

웹개발 블로그

[세션] 주의사항 본문

◆ SPRING BOOT/정리

[세션] 주의사항

쿠키린 2023. 4. 30. 20:47
HttpSession session = request.getSession();
ㄴ기본은 true,(기존 세션이 있으면 유지, 없으면 새로운 세션 생성)
ㄴ반대로 false는 기존 세션이 있다면 유지하지만, 없으면 생성x, null반환

 

🔽로그인 성공 시 세션 생성 (로그인 컨트롤러, /login)

/**로그인 성공 처리*/
//세션이 있으면 있는 세션 반환, 없으면 신규 세션을 생성
HttpSession session = request.getSession();//기본은 true,(기존 세션이 있으면 유지, 없으면 새로운 세션 생성) 반대로 false는 기존 세션이 있다면 유지하지만, 없으면 생성x, null반환
//세션에 로그인 회원 정보 보관
session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember);

 

🔽홈(/)

//세션은 메모리를 사용하기 때문에 맨 처음 기본값이 true여서 바로 만들어진다.
//처음 페이지에 들어올떄는 생성 안하기위해 false;(로그인 됐을때만 LoginContoller에서 로그인 되면 만들거임)
//로그인 하고 나면 세션이 메모리에서 생기게 코딩했으므로 if문을 통과하게되며 아래 코드를 읽는다.

HttpSession session = request.getSession(false);
if(session == null){//false는 세션이 있으면 반환하지만, 없으면 null을 반환한다.
    return  "home";
}

 

세션은 메모리를 잡아먹기 때문에

모든 정보를 세션으로 관리하기에 

사용자가 많아지면 메모리가 많이 필요해지겠지?!