본문 바로가기
교재 실습/자바 웹 프로그래밍 Next Step

6.2.2 요구사항 분리 및 힌트

by Jint 2025. 4. 28.

· 클라이언트와 서버 간에 주고 받을 고유한 아이디를 생성해야 한다. 고유한 아이디는 쉽게 예측할 수 없어야 한다. 예측하기 쉬우면 쿠키 값을 조작해 다른 사용자처럼 속일 수 있다.

 

- HINT

JDK에서 제공하는 UUID(universally unique identifier : 고유한 값을 식별하기 위한 아이디 값으로, 32개의 16진수로 표현되며 총 36개 문자(32개 문자와 4개의 하이픈)로 된 8-4-4-4-12라는 5개의 그룹을 하이픈으로 구분한다) 클래스를 사용해 고유한 아이디를 생성할 수 있다.

UUID uuid = UUID.randomUUID();

 

· 앞 단계에서 생성한 고유한 아이디를 쿠키를 통해 전달한다.

 

- HINT

쿠키는 Set-Cookie 헤더를 통해 전달되며 name1=value1; name2=value2 형태로 전달된다. 자바 진영에서 세션 아이디를 전달하는 이름으로 JSESSIONID를 사용한다.

 

· 서버 측에서 모든 클라이언트의 세션 값을 관리하는 저장소 클래스를 추가한다.

 

- HINT

HttpSession 과 같은 이름을 가지는 클래스를 추가한다.

이 클래스는 Map<String, HttpSession>과 같은 저장소를 통해 모든 클라이언트별 세션을 관리해야 한다. 이 저장소의 키(Key)는 앞에서 UUID로 생성한 고유한 아이디이다.

 

· 클라이언트별 세션 데이터를 관리할 수 있는 클래스(HttpSession)를 추가한다.

 

- HINT

HttpSession 클래스는 요구사항에 있는 5개의 메서드를 구현해야 하며, 상태 데이터를 저장할 Map<String, Object> 이 필요하다.



참고도서 : https://roadbook.co.kr/169

 

[신간안내] 자바 웹 프로그래밍 Next Step

● 저자: 박재성 ● 페이지: 480 ● 판형: 사륙배변형(172*225) ● 도수: 1도 ● 정가: 30,000원 ● 발행일: 2016년 9월 19일 ● ISBN: 978-89-97924-24-0 93000 [강컴] [교보] [반디] [알라딘] [예스24] [인터파크] [샘

roadbook.co.kr

댓글