앞서 @SessionAttributes라는 애노테이션을 통해 세션기준으로 객체를 셋팅하는 방법을 배웠다. 여기서는 이 애노테이션과 비슷한(생긴건 거의 같은) @SessionAttribute에 대해 알아보도록 한다.

@SessionAttribute

  • HTTP 세션에 들어있는 값을 참조할 때 사용한다.
  • HttpSession을 사용할떄에 비해 타입 컨버젼을 자동으로 지원해 조금 더 편리할 수 있다.
  • HTTP세션에 데이터를 넣고 빼고 싶은 경우에는 HttpSession을 사용하자.

@SessionAttributes와의 차이점

  • @SessionAttributes는 해당 컨트롤러 내에서만 동작한다.
    • 즉, 해당 컨트롤러 안에서 다루는 특정 모댈 객체를 세션에 넣고 공유할 때 사용한다.
  • @SessionAttribute는 컨트롤러 밖(인터셉터 또는 필터 등)에서 만들어준 세션 데이터에 접근할 때 사용한다.

참고자료

  1. 스프링 웹 MVC

oksusutea's blog

꾸준히 기록하려고 만든 블로그