*프로젝트 만들면서 몰랐던거 복습.

 

HttpSession은 간단하게 말해서 입력한 정보들(로그인 사용자 정보)을 서버에 저장하는 기술이다.

 

Session값 저장은 이런 식으로 했다.

 

User DTO

public class User {
private String id;
    private String pw;
    private String name;
    private String nickname;
    private Date birth;
    private String email;
    
    //getter,setter,toString 생략
}

Controller

@PostMapping("/login")
public ModelAndView login(HttpSession session, User user){
    
    //로그인 과정 생략
    ......
    session.setAttribute("login", user);
    ......
    //생략
    

}

View단에서 입력받은 정보들을 User 객체에 저장하고 Attribute의 이름을 "login"으로 지정하고 session에 저장했다.

 

 

저장한 session을 출력해보면 저장이 잘 된 것을 알 수 있다.

출력 코드는 getAttribute("속성명");

System.out.print(session.getAttribute("login"));

여기서 "login" 속성에 User객체로 저장되어 있는 요소들 중 nickname을 가져와보자.

User user = (User)session.getAttribute("login");

Session 이름이 "login"인 속성을 (User)로 형변환 한 후 User 객체에 다시 집어넣어줬다.

그 후 User에 저장된 nickname을 리턴하면 된다.

System.out.println(user.getNickname());

잘 불러와진다.

 

끝~

'Spring 개발..' 카테고리의 다른 글

Spring DI(Dependency Injection)에 대해 알아보자.  (0) 2022.03.31

+ Recent posts