IT/Java

[JAVA] session 세션 유효시간 설정

binary? 2024. 5. 22. 14:46

[JAVA] session 세션 유효시간 설정

프로젝트 진행하면서 방문자 수를 체크하는 로직을 만들었습니다.

처음에는 main 화면에 접속하면 방문자 수가 증가하도록 만들었습니다.

그러다 카카오톡 로그인 구현을 하고 main 화면으로 redirect 되면서 또 방문자 수가 늘어나는 현상이 일어났습니다.

정확한 방문자 수를 체크하고자 세션을 활용하였습니다.

방법은 매우 간단하며 아래에 정리해보겠습니다.

1.session.isNew() 함수 사용하기

session.isNew() 함수를 활용하며 됩니다.

session.isNew() 함수는 사용자가 새로운 세션을 시작했음을 의미합니다.

값은 true, false 이며 true는 새로운 세션이 할당된 것입니다.

@RequestMapping("/")
    public String main(Model model, HttpSession session) {

        //  세션 30분 설정
        if (session.isNew()) {
            // 방문자 수 증가
            visitorService.incrementVisitorCount();
        }
        VisitorDTO visitorDTO = visitorService.getVisitorCount();
        model.addAttribute("dailyCount", visitorDTO.getDailyCount());
        model.addAttribute("totalCount", visitorDTO.getTotalCount());
        return "main";
    }
 

 

2. 세션 유효기간 설정

세션의 유효기간은 property파일에 작성하면 됩니다.

저는 application을 사용하고 있습니다.

30m을 입력하여 30분을 지정하였습니다.

server: servlet: session: timeout: 30m
 

감사합니다~

 

'IT > Java' 카테고리의 다른 글

[JAVA] 프로세스와 스레드  (0) 2024.06.14
총알 피하기 게임  (3) 2024.06.02
[JAVA] 시간 지연하는 방법  (0) 2024.05.13
[JAVA] 현재 시간 구하는 방법  (0) 2024.05.03
build.gradle httpclient 의존성 주입 에러 해결방법  (0) 2024.05.02