세션, 쿠키

2019. 5. 16. 22:43Spring

쿠키, 세션 기본 내용

https://juniordev-team.tistory.com/11

 

세션

세션 생성하기

//HttpServletRequest를 사용하여 세션 생성하기

@RequestMapping(value="/login",method=RequestMethod.POST)

public String memLogin(Member member, HttpServletRequest request) {

    Member mem = service.memberSearch(member);

 

    HttpSession session = request.getSession();

    session.setAttribute(세션명,세션값);

 

    return "/member/loginOk";

}

//HttpSession을 사용하여 세션 생성하기

@RequestMapping(value="/login",method=RequestMethod.POST)

public String memLogin(Member member, HttpSession session) {

    Member mem = service.memberSearch(member);

 

    session.setAttribute(세션명,세션값);

 

    return "/member/loginOk";

}

HttpServletRequest와 HttpSession의 차이점은 거의 없으며, 단지 세션객체를 얻는 방법에 차이가 있다.

세션 제거하기

HttpSession session = request.getSession

 

session.invalidate();

세션 주요 메소드

getID() - 세션 ID를 반환한다.

setAttribute() - 세션 객체에 속성을 저장한다.

getAttribute() - 세션 객체에 저장된 속성을 반환한다.

removeAttribute() - 세션 객체에 저장된 속성을 제거한다.

setMaxInactiveinterval() - 세션 객체의 유지시간을 설정한다.

getMaxInactiveInterval() - 세션 객체의 유지시간을 반환한다.

invalidate() - 세션 객체의 모든 정보를 삭제한다.

쿠키

쿠키 생성하기

@RequestMapping("/main")

public String memLogin() {

    Cookie cookie = new Cookie(쿠키명, 쿠키값);

}

쿠키 사용하기

//@CookieValue 어노테이션의 value 속성은 쿠키 이름을 나타내는데, 만약 value에 명시한 쿠키가 없을 경우 익셉션이 발생한다.

//익셉션을 막는 방법이 있는데, 바로 required 속성이다.

//Required 속성은 기본값으로 true를 가지고 있는데 required가 true인 경우 value값에 해당하는 쿠키가 없으면 익셉션이 발생한다.

//따라서 required 속성값을 false로 설정해서 value값에 해당하는 쿠키가 없어도 익셉션이 발생하지 않도록 한다.

@RequestMapping("/index")

public String memLogin(@CookieValue(value="gender", require=false)Cookie genderCookie) {

    genderCookie.getValue();

}

 

'Spring' 카테고리의 다른 글

[Spring] MVC model 1, 2 - 개념 및 설계구조  (0) 2019.05.17
리다이렉트, 인터셉트  (0) 2019.05.16
DI(Dependency injection)  (0) 2019.05.16