- Spring MVC 마스터하기 쿠키, 세션 42022년 06월 03일
- starryeye
- 작성자
- 2022.06.03.:31
스프링을 활용하여 세션을 더 편리하게 사용해보자
(기존에는 HttpServletRequest를 파라미터로 받아야해서 번거롭다..)
@SessionAttribute
세션 유무에 따른 홈 화면
이전 포스팅의 homeLoginV3 컨트롤러와 비교하여..
HttpServletRequest 파라미터,
HttpServletRequest에서 HttpSession 받아오는 부분,
HttpSession에서 Member 받아오는 부분이 없어졌다.
대신 @SessionAttribute 어노테이션을 사용하였다.
name 요소 : 세션에 저장해놓은 key, value 쌍에서 key를 써준다.
required 요소 : 해당 세션이 없어도 되면 false, 세션이 필수이면 true 이다.
(false로 하여, 로그인 안한 케이스도 처리될 수 있도록 한다. 세션이 없으면 loginMember는 null 이다.)
타입 : name요소에 해당하는 value 타입(Member)을 써준다.
이 기능은 세션을 생성하지는 않는다..
-> 이미 로그인된 사용자를 찾을 때 유용하다.. (세션을 생성하지 않기 때문)
<참고>
HttpSession은 사용자가 서버에 최근에 요청한 시간을 기준으로 30분 정도를 유지 한다.
(마지막 요청을 기준으로 자동 연장)
application.properties에
session.setMaxInactiveInterval(1800) 로 설정할 수 있다.
(숫자는 초 단위이다.)
url에 jsessionid가 포함 된 경우...
(웹브라우저가 쿠키를 지원 안할 수도 있어서.. url에도 넣어주기 때문임)
application.properties에
server.servlet.session.tracking-modes=cookie 로 설정하면 url에 jsessionid가 빠진다.
'Spring > MVC' 카테고리의 다른 글
Spring MVC 마스터하기 인터셉터 1 (0) 2022.06.04 Spring MVC 마스터하기 필터 1 (0) 2022.06.03 Spring MVC 마스터하기 쿠키, 세션 3 (0) 2022.05.29 Spring MVC 마스터하기 쿠키, 세션 2 (0) 2022.05.29 Spring MVC 마스터하기 쿠키, 세션 1 (0) 2022.05.29 다음글이전글이전 글이 없습니다.댓글