백엔드 개발/Servlet,JSP

[Servlet,JSP]쿠키와 세션

독학하는 정호빈 2022. 1. 12. 09:34

유튜브 강의 '자바-JSP-Spring'을 기반으로

공부하였습니다.

https://www.youtube.com/watch?v=V4tZpzeDIow&list=PLieE0qnqO2kTyzAlsvxzoulHVISvO8zA9&index=45&ab_channel=SEOULG-%EC%BA%A0%ED%94%84

 

1. 쿠키 : 서버에서 생성하여서 서버가 아닌 클라이언트 측에 특정 정보를 저장합니다. 그리고 서버에 요청할 때 마다 쿠키의 속성값을 참조, 변경할 수 있습니다.

 

용량은 4kb 300개까지 데이터정보를 가질 수 있습니다.

 

쿠키생성 -> 속성 설정 -> response.addCookie()를 이용

 

관련메소드

- setMaxAge : 쿠키 유효기간 설정합니다.

- setPath : 쿠키사용의 유효 디렉토리를 설정 합니다.

- setValue : 쿠키의 값을 설정합니다.

- setVersion : 쿠키 버전을 설정합니다.

- getMaxAge : 쿠키 유효기간 정보를 얻습니다.

- getName : 쿠키 이름을 얻습니다.

- getPath : 쿠키사용의 유효 디렉토리 정보를 얻습니다.

- getValue : 쿠키의 값을 얻습니다.

- getVersion : 쿠키의 버전을 얻습니다.

 

쿠키생성

 

쿠키의 이름과 값 출력

 

쿠키삭제
실행화면

 

실행화면

 

실행화면

 

실행화면

 

2. 세션 : 서버에서 생성되고 서버상에 객체로 존재합니다. 따라서 세션은 서버에서만 접근이 가능하여 보안이 좋습니다. 저장할 수 있는 데이터에 한계가 없습니다.

 

클라이언트 요청 -> 세션 자동 생성 -> 세션 속성 설정(세션 내부 객체의 메소드 이용)

 

관련메소드

- setAttribute : 세션에 데이터를 저장합니다.

- getAttribute : 세션에서 데이터를 얻습니다.

- getAttributeNames : 세션에 저장되어있는 모든 데이터의 이름을 얻습니다.

- getId : 자동 생성된 세션의 유니크한 아이디를 얻습니다.

- isNew : 세션이 최초 생성되었는지, 이전에 생성된 세션인지를 구분합니다.

- getMaxInativeInterval : 세션의 유효시간을 얻습니다. 가장 최근 요청시점을 기준으로 카운트 됩니다.

- removeAttribute : 세션에서 특정 데이터를 제거합니다.

- Inalidate : 세션의 모든 데이터를 삭제합니다.

 

세션 생성

 

세션 출력

 

세션 삭제

 

실행화면

 

실행화면

 

실행화면

 

실행화면