프로그래밍언어/WEB

JSP : 내장객체 -session

헬로월드! 2020. 4. 17. 21:29

Session 

: 웹 서버가 지속적인 클라이언트 인식을 위해 사용자 별로 필요한 정보를 웹 서버에 임시로 저장해 두는 방법이다.

예) 로그인 인증 후 일정 시간 내에서는 재인증 불필요, 장바구니의 추가 상품 누적 등 

 

HTTP 프로토콜이 비연결형 프로토콜이기 때문에(stateless) 한 페이지가 출력된 다음에는 클라이언트와 서버의 연결이 끊어진다. (웹 사이트는 유저와 항상 연결되어 있지 않다!)

따라서 한 번 로그인 한 사용자가 로그아웃 할 때 까지 보관해야 할 정보가 있다면 처리가 되기 힘들다.

이러한 HTTP 프로토콜의 문제점을 해결하기 위해 나온 것이 쿠키 , 세션이다.

 

  • 쿠키란? 사용자와 관련된 정보를 pc 에 보관하는 방식이다. 유저의 정보를 기억할 필요가 있기 때문에 생겨남 (클라이언트에 저장)

 

  • 세션이란? 서버에 보관하는 방식이다. 세션이 쿠키보다 보안에 유리하고 제약사항이 적은 편이기 때문에 최근에는 대부분 세션을 사용한다. 

 

세션이 사용되는 경우 

1) 사용자 로그인 후 세션을 설정하고 일정 시간이 지난 경우 다시 사용자 인증을 요구할 때

2) 쇼핑몰에서 장바구니 기능을 구현할 때

3) 사용자의 페이지 이동 동선 등 웹 페이지 트래킹 분석 기능 등을 구현할 때

 

등등 ..

 

JSP 에서 세션은 javax.servlet.http.HttpSession 인터페이스의 참조 변수로 session 내장객체를 통해 접근할 수 있다.

세션의 특징은 연결된 사용자마다 생성되는 것으로 서버에 연결된 각각의 사용자마다 자신만의 세션 영역이 있다.

 

session 내장객체 메서드 

메서드 설명
getId() 각 접속에 대한 세션 고유의 ID 를 문자열 형태로 반환
getCreatingTime() 세션 생성 시간을 January 1. 1970 GMT 부터 long 형 밀리세컨드 값으로 반환
getLastAccessedTime() 현재 세션으로 마지막막 작업한 시간을 long 형 밀리세컨드 값으로 반환한다.
getMaxInactiveInterval() 세션의 유지시간을 초로 반환, 세션의 유효시간을 알 수 있음
setMaxInactiveInterval(t) 세션의 유효 시간을 t에 설정된 초 값으로 설정
invalidate() 현재 세션을 종료, 세션과 관련된 값들은 모두 지워짐
getAttribute(attr) 문자열 attr 로 설정된 세션 값을 java.lang.Object 형태로 반환한다.
setAttribute(name,attr) 문자열 name 으로 java.lang.Object.attr 을 설정한다.

 

 

 

 

 

'프로그래밍언어 > WEB' 카테고리의 다른 글

빈즈  (0) 2020.06.04
JSP-Servlet  (0) 2020.05.10
JSP : 내장 객체 - out  (0) 2020.04.17
JSP - 내장 객체 - request , response  (0) 2020.04.10
JSP 기본 문법 - 주석, 스크립트 태그  (0) 2020.04.03