Session

jaeyong Lee·2024년 7월 18일

세션 범위 (아쎄리판)

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같이 여러개의 객체가 저장될 수 있다.

0개의 댓글