[java] Java Play Framework에서의 세션 관리 방법은 어떻게 되나요?

Play Framework에서 세션은 play.mvc.Http.Session 클래스를 사용하여 관리합니다. 세션을 사용하기 위해서는 먼저 세션 객체를 생성해야 합니다. 다음은 세션을 생성하는 예제 코드입니다.

public Result login() {
    session("user", "john_doe");
    return ok("Logged in successfully");
}

위 코드는 login 액션에서 세션을 생성하고, user라는 키에 john_doe라는 값을 저장하는 예제입니다.

세션에 저장된 값은 다음과 같이 불러올 수 있습니다.

public Result getCurrentUser() {
    String user = session("user");
    if (user != null) {
        return ok("Current User: " + user);
    } else {
        return unauthorized("Not logged in");
    }
}

getCurrentUser 액션에서는 user 키에 저장된 값을 가져와서 현재 사용자를 출력하거나, 로그인되지 않았다면 권한이 없음을 나타내는 응답을 반환합니다.

또한, 세션에서 값을 제거하려면 다음과 같이 remove 메소드를 사용합니다.

public Result logout() {
    session().remove("user");
    return ok("Logged out successfully");
}

위 코드는 logout 액션을 호출하면 user 키에 저장된 값이 제거되고 로그아웃하는 예제입니다.

세션의 유효기간을 설정하려면 다음과 같이 withSession 메소드를 사용합니다.

public Result login() {
    session("user", "john_doe").withSession("expiry", "1h");
    return ok("Logged in successfully");
}

위 코드에서는 withSession 메소드를 사용하여 세션의 유효기간을 1시간으로 설정하였습니다.

Play Framework에서 세션 관리는 간단하면서도 효과적인 방법입니다. 더 자세한 내용은 Play Framework 공식 문서를 참고하시기 바랍니다.

참고 문서: