* session이란?
client가 어플리케이션의 사용을 시작해서 끝날 때까지를 session이라 한다.
session관리 : 프로그램의 시작부터 끝날 때까지 데이터를 관리하는 것.(데이터가 끝날 때까지 데이터를 유지 ex : login~logout)
* Http protocal은 상태에 대한 데이터를 유지 할 수 없다. (요청하고 응답하면 데이터가 사라진다.)
* session관리
- Http 프로토콜은 stateless 한 특징을 가진다.
- stateless - 상태유지를 못한다.-> 클라이언트의 데이터를 유지 하지 못함
- Session
- 하나의 클라이언트가 프로그램을 시작해서 종료할때 까지
- 하나의 세션동안 여러번의 요청과 응답이 반복 될 수 있다.
- 하나의 세션동안 클라이언트의 데이터는 유지 되어야 한다.
- Session 관리 개념
- Http 프로토콜의 특징이 클라이언트의 상태를 유지 못하므로 CGI에서 지원
- 방식
- Cookie를 이용
- Session을 이용
- URLRewriting을 이용
* Cookie를 이용한 Session관리
- 쿠키
- 서버가 브라우저(client)로 전송하는 text 데이터
- 쿠키는 클라이언트의 정보를 유지하기 위한 데이터로 Web Browser에 저장된다. - > 클라이언트 단에 저장
- key-value 형태로 관리됨
- 저장 데이터의 종류는 문자열만 가능
- Web Browser는 쿠키를 사이트 별로 관리한다.
- 장점
- 서버에 부하를 줄일 수 있다.
- 단점
- 관리할 수 있는 데이터의 종류, 크기에 제약
- 보안상 문제
- 구문
- 쿠키 생성
- javax.servlet.http.Cookie 사용 - 하나의 쿠키 값을 가지는 객체
- HttpServletResponse.addCookie(Cookie c) : 쿠키를 client로 전송
ex) Cookie c = new Cookie("name","value");
response.addCookie(c);
- 쿠키 값 조회
- HttpServletRequest.jetCookies() : Cookie[]
ex) Cookie[] c = request.getCookies();
- Cookie 클래스 주요 메소드
- getName() : String - name 값 조회
- getValue() : String - value 값 조회
- setMaxAge(int 초) - 쿠키가 web browser에 저장될 시간 설정
초 : 양수 - 저장될 시간
음수 - web browser가 살아있는 동안(기본)
0 - 삭제(그 이름의 쿠키를 삭제)
'프로그래밍 > JSP Programming' 카테고리의 다른 글
2012-4-27 cookie 사용 (0) | 2012.04.27 |
---|---|
2012-4-26 cookie 실습 (0) | 2012.04.26 |
2012-4-26 동기화블럭 실행 예제 (0) | 2012.04.26 |
2012-4-26 Multi-thread 상황에서 Data 동기화 (0) | 2012.04.26 |
2012-4-26 Process와 Thread단위 프로그램 띄우기 (정의) (0) | 2012.04.26 |