JSP Programming with a Workbook 쿠키와 세션
학습 목표 쿠키에 대하여 알아보자. 세션에 대하여 알아보자. JSP Programming with a Workbook
쿠키 [1/5] 쿠키 사용자의 시스템에 간단한 정보를 저장해 필요할 때마다 해당정보를 읽어오기 위하여 사용 간단한 정보를 클라이언트에 저장함으로써 서버의 부하를 크게 줄일 수 있음 쿠키의 동작 쿠키 생성 쿠키 저장 쿠키 전송 쿠키에서 제공하는 메소드 (page. 162 참고) JSP Programming with a Workbook
쿠키 [2/5] 쿠키 설정 및 읽기 (코드 6-1 ~ 코드 6-3 참고) 쿠키를 설정하기 위해서는 Cookie 클래스를 사용해야 함 형식 Cookie cookie = new Cookie(String name, String value); 예제 Cookie cookie = new Cookie("Job", URLEncoder.encode("학생")); JSP Programming with a Workbook
쿠키 [3/5] 쿠키 변경 및 삭제 (코드 6-4 ~ 코드 6-5 참고) 변경을 위해서는 변경하려는 쿠키의 이름에 해당하는 쿠키 값을 변경 변경하려는 쿠키의 이름이 없을 경우 새롭게 쿠키 생성 JSP Programming with a Workbook
쿠키 [4/5] 쿠키 도메인 및 경로 (코드 6-6 참고) setDomain () 메소드 : 사용하는 서버에 쿠키를 보내려고 할 때 사용 getDomain () 메소드 : 설정한 쿠키 도메인을 리턴하려고 할 때 사용 setPath () 메소드 : 경로 지정 형식 cookie.setDomain(String url); 예제 cookie.setDomain("www.shop.net"); 형식 cookie.setPath(String url) 예제 cookie.setPath("/"); JSP Programming with a Workbook
쿠키 [5/5] 쿠키 유효 시간 설정 쿠키 관련 정보 (코드 6-7 참고) setMaxAge() 메소드 : 쿠키 유효 시간 설정 시 사용 (예 : 60 * 60 (1시간)) 쿠키 관련 정보 (코드 6-7 참고) 형식 cookie.setMaxAge(int expiry) 예제 cookie.setMaxAge(60 * 60); JSP Programming with a Workbook
세션 [1/2] 세션 웹 서버쪽의 웹 컨테이너 상태를 유지하려고 정보를 저장할 때 사용 웹 브라우저당 1개씩 생성돼 컨테이너에 저장 생성된 세션은 고유 ID가 부여되어 해당 정보에 접근하려는 클라이언트의 구별이 가능함 세션에서 제공하는 메소드 (page. 174 참고) JSP Programming with a Workbook
세션 [2/2] 세션 설정 및 읽기 (코드 6-8 참고) 세션 종료 및 타임 아웃 (코드 6-9 참고) setAttribute () 메소드 : 세션 설정 getAttribute () 메소드 : 세션 리턴 removeAttribute () 메소드 : 세션 삭제 세션 종료 및 타임 아웃 (코드 6-9 참고) invalidate () 메소드 : 세션 종료 setMaxInactiveInterval() 메소드 : 세션 타임 아웃 형식 session.setMaxInactiveInterval(int expiry) 예제 session.setMaxInactiveInterval(60 * 60); JSP Programming with a Workbook
학습 정리 [1/2] 쿠키는 사용자의 시스템에 간단한 정보를 저장해 필요할 때마다 해당 정보를 읽어오려고 사용 한다. 쿠키의 동작은 3단계로 나눌 수 있다. 첫 번째 단계는 쿠키를 사용하려고 쿠키를 생성하는 단계이다. 이렇게 생성된 쿠키는 응답 데이터에 함께 저장돼 전송된다. 이렇게 전송된 쿠키는 쿠키 저장소에 보관되는데 이러한 동작이 바로 두 번째 단계인 쿠키 저장 단계이다. 저장된 쿠키는 요청이 있을 때마다 웹 서버에 전송을 한다. 이것이 세 번째 단계인 쿠키 전송 단계이다. JSP Programming with a Workbook
학습정리 [2/2] 세션은 웹 서버 쪽의 웹 컨테이너의 상태를 유지하려고 정보를 저장할 때 사용한다. 세션은 웹 브라우저당 1개씩 생성돼 컨테이너에 저장된다. 이렇게 생성된 하나의 세션은 고유 ID가 부여돼 해당 정보에 접근하려는 클라이언트를 구별할 수 있다. 속성에 관련된 내장 객체 영역 쿠키는 setMaxAge() 메소드를 사용해 쿠키 유효 시간을 설정하고 세션은 setMaxInactiveInterval() 메소드를 사용해 세션 타임아웃 시간을 설정한다. 이러한 설정은 보안을 위해 상당히 중요하다. 내장 객체 영역 pageContext PAGE 영역, 하나의 페이지 내에서 공유할 값을 저장 request REQUEST 영역, 한 번의 요청을 처리할 경우 사용하는 모든 페이지에서 공유할 값 저장 session SESSION 영역, 한 사용자와 관련된 정보를 공유하기 위하여 사용 application APPLICATION 영역, 모든 사용자와 관련된 정보를 공유하기 위하여 사용 JSP Programming with a Workbook
연습 문제 및 Workbook 연습문제 1 ~ 4 실전 연습문제 실무 프로젝트 1단계 실습 : 쿠키를 이용하여 사용자가 입력한 정보를 출력하는 페이지를 작성해 보자. 2단계 실습 : 세션을 사용하여 로그인 페이지를 작성해 보자. 실무 프로젝트 과제 1 : 쿠키를 사용하여 로그인 처리 페이지를 작성해 보자. 과제 2 세션의 다양한 정보를 출력하는 페이지를 작성해 보자. JSP Programming with a Workbook