https://velog.io/@lee41180612/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B9%88%EC%9D%98-%EB%B2%94%EC%9C%84Scope
세션 -> 같은 브라우저에서 정보 공유
@RequestMapping(value="/login.do", method = RequestMethod.POST)
public ModelAndView login(HttpServletRequest request) {
ModelAndView mav = new ModelAndView();
// getSession()으로 세션 생성
HttpSession session = request.getSession();
// 예시로 세션에 setAttribute로 사용자 정보 저장
session.setAttribute("isLogOn", true);
session.setAttribute("memberInfo", new MemberVO("user123", "John Doe"));
mav.setViewName("redirect:/main.do");
return mav;
}
@RequestMapping(value="/somePage.do", method = RequestMethod.GET)
public ModelAndView somePage(HttpServletRequest request) {
ModelAndView mav = new ModelAndView();
HttpSession session = request.getSession();
// getAttribute 로 세션에서 데이터 가져오기
Boolean isLogOn = (Boolean) session.getAttribute("isLogOn");
MemberVO memberInfo = (MemberVO) session.getAttribute("memberInfo");
// 필요한 로직 수행 후, 뷰 설정
mav.setViewName("somePage");
return mav;
}
핵심 getSession, setAttribute, getAttribute
생각정리)
세션 객체를 생성해서 객체에 정보를 저장하면 세션 범위 내에서
controller , view(표현어) 에 바로 저장한 데이터를 가져오거나 나타낼 수 있다.
세션객체안의 memberinfo같이 여러개의 객체가 저장될 수 있다.