티스토리 뷰
@SessionAttribute이란?
@SessionAttribute은 세션을 편리하게 사용할 수 있도록 스프링에서 지원하는 어노테이션이다.
@SessionAttribute 속성 값
- name: 기본 값은 빈 문자열이며, 세션에 저장된 값을 불러온다. ex) name="login" 으로 지정하면 세션에 저장된 key 값인 login의 value 값을 불러온다.
- required: 기본 값은 true이며, 만약 true일 경우 무조건 세션에 저장된 값을 불러온다. 만약 세션이 없을 경우 예외가 발생한다. 만약 false로 변경할 경우 세션 값이 없으면 null로 반환된다.
예제
@SessionAttribute 적용 X
@GetMapping("/")
public String sessionUnAnnotation(HttpServletRequest request) {
HttpSession session = request.getSession(false);
String sessionValue = String.valueOf(session.getAttribute("test"));
if (session == null || sessionValue == null) {
return "loginPage";
}
return "home";
}
@SessionAttribute 적용 O
@GetMapping("/")
public String sessionAnnotation(@SessionAttribute(name = "test", required = false) String sessionValue) {
if (sessionValue == null) {
return "loginPage";
}
return "home";
}
정리
어노테이션을 적용하기 전 코드에서는 request를 받고, request에서 session 값을 찾고 그 session에서 저장 된 값을 찾았는데 @SessionAttribute 어노테이션을 사용하면 세션에 저장된 값을 쉽게 찾을 수 있다.
본 포스팅은 “스프링 MVC 2편 - 백엔드 웹 개발 활용 기술/인프런”를 학습한 내용을 정리한 것
'Java > Spring' 카테고리의 다른 글
| <Spring> 스프링 초기화 시점에서의 트랜잭션 적용 (0) | 2024.08.09 |
|---|---|
| <Spring> 트랜잭션 프록시 내부 호출시 문제점 (0) | 2024.07.29 |
| <Spring> List, Map으로 빈 주입 받기 (0) | 2024.07.19 |
| <Spring> @RequiredArgsConstructor과 의존성 주입 (0) | 2023.10.09 |
| <Spring> @Qualifier이란? (1) | 2023.10.09 |
댓글
