[Diary] SPRING 스터디 Cookie & Session2

Shaun.the.sheep·2025년 7월 18일

[Dairy] S.C.C TIL

목록 보기
7/22

Session 심화

@SessionAttribute라는 어노테이션을 사용하여 데이터를 받아온다.

  public String homeV2(
            // Session이 필수값은 아니다. 로그인 했거나 안했거나 판별해야하니 required false
            @SessionAttribute(name = Const.LOGIN_USER, required = false) UserResponseDto loginUser,
            Model model
    ) {

        // session에 loginUser가 없으면 Login 페이지로 이동
        if (loginUser == null) {
            return "session-login";
        }

        // Session이 정상적으로 조회되면 로그인된것으로 간주
        model.addAttribute("loginUser", loginUser);

        // home 화면으로 이동
        return "session-home";
    }

파라미터에 있는 값을 보면 전 포스트에 인터페이스 형태로 상수로 남겨 놓았던 유저의 값과 비교하여 같은 값을 받아오게 된다.

url에 보면 JSESSION이 쿼리 형태로 url의 뒤에 붙어서 나온다.
이 부분을 없애기 위해서는 properties 확인이 필요하다

server.servlet.session.tracking-modes=cookie

프로퍼티 내에 쿠키에서 세션을 받아온다고 설정을 해주면 해당 내용이 URL에서 보이지 않게 된다.

0개의 댓글