◇ PART · BOARD

세션 깊이 보기

Spring 기초
SMHRD

학습 목표

1. 문제

세션이 정확히 어디 어떻게 저장되는지가 흐릿했다.

2. 새 도구

HttpSession: 서버 메모리에 사용자 정보를 저장. 손님에게는 JSESSIONID 쿠키만 발급.

3. 코드

@PostMapping("/login") public String login(@RequestParam String userId, @RequestParam String password, HttpSession session) { Member m = service.login(userId, password); if (m != null) { session.setAttribute("loginUser", m); // 서버 보관함에 저장 return "redirect:/"; } return "redirect:/login?error"; } // 다른 컨트롤러에서 사용 @GetMapping("/mypage") public String mypage(HttpSession session, Model model) { Member m = (Member) session.getAttribute("loginUser"); if (m == null) return "redirect:/login"; model.addAttribute("user", m); return "mypage"; } // 로그아웃 session.invalidate();

4. 정리

5. Before / After

전 차시

세션이 정확히 어디 어떻게 저장되는지가 흐릿했다.

이번 차시

세션 저장·조회·만료를 코드로 안다.

학습 확인 체크리스트