'HttpSession'에 해당되는 글 1건

  1. [Spring MVC 3] RequestContextHolder 클래스를 이용하여 세션 접근하기

[Spring MVC 3] RequestContextHolder 클래스를 이용하여 세션 접근하기

Spring MVC 3에서 세션에 저장된 로그인 유저 정보 객체에 접근할 때 Controller 메써드의 파라메터로 HttpSession 객체를 명시하여 처리하였으나 중복된 코드가 발생함에 따라 아래와 같은 방법으로 개선하였다.


1. UserService에 아래와 같은 세션 접근 메써드를 작성

    public LoginUser getLoginUser() {
        ServletRequestAttributes servletRequestAttribute = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
        HttpSession httpSession = servletRequestAttribute.getRequest().getSession(true);
        LoginUser loginUser = (LoginUser) httpSession.getAttribute("loginUser");
        Preconditions.checkNotNull(loginUser, "로그인 상태가 아닙니다. 로그인부터 하세요.");

        return loginUser;
    }


2. 작성한 메써드를 통해 Controller 메써드에서는 아래와 같이 간단하게 접근하여 세션에 저장된 로그인 유저 정보를 개체를 획득

LoginUser loginUser = userService.getLoginUser();


저작자 표시 비영리 동일 조건 변경 허락
신고