inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

정리

몇 가지 질문있습니다!

290

highjune

작성한 질문수 96

0

안녕하세요 영한님 좋은 강의 항상 감사합니다. 몇 가지 질문있습니다.

1. 개념정리. 아래 질문글도 봤지만 노파심에 다시 여쭤보고 싶습니다.

쿠키 이름 : JSESSIONID 

쿠키 값 :  34DDLFIJOIJDF3DF  (UUID 랜덤값)

세션 key이자 id = 34DDLFIJOIJDF3DF (UUID 랜덤값)

세션 name = loginMember

세션 value = Member(id = 1 .. 중략)

즉, 쿠키 값에 세션key(=id) 값을 담아서 나간다 가 맞지요?

1.1 세션key(=id) 값으로 Member 객체를 매칭시킨다.? 세션 name (loginMember)으로 Member객체를 매칭시킨다? 어느 말이 맞나요?  @SessionAttribute(name = "loginMember", required = false) Member loginMember) 에서 본다면 후자가 맞는 것 같구요. 세션key, name, value 관계가 조금 헷갈리네요.

 

2. 결국 DB에 세션 key(=id) 값을 직접 가지고 있지는 않는거네요? 강의에서 직접 세션 만들기에서는 DB에 UUID값과 과 member객체를 매칭시켜서 들고있기는 하지만, servlet이 제공하는 HttpSession에서 메모리에 그 둘을 매칭시켜서 들고 있으니까요. 맞죠?

 

3. 서블릿 http 제공 쿠키 이름은 default로 JSESSSIONID로 되어있는데, api통신에서 클라이언트쪽이 쿠키 이름을 다르게 보내달라고 하면, 내재된 setCookie name설정은 어떻게 수정해서 보내나요?

 

추가로) 오타수정은 어디에다 말씀드리면 되나요. p41에 10만게 -> 10만개. 

 

평소에 쿠키, 세션에 대해 궁금증이 많았던 만큼 질문이 좀 길어졌네요 ㅠㅠ

항상 친절한 답변 감사합니다!

spring MVC

답변 1

0

David

안녕하세요. highjune님, 공식 서포터즈 David입니다.

.
1. 세션ID는 WAS에서 세션을 관리하기 위해 필요한 값입니다. 특정 요청에서 사용되는 세션(value)을 가져오려면 세션을 식별할 수 있는 세션ID(key)가 필요합니다.

세션을 가져왔다면 해당 세션에 저장된 멤버 객체(value)를 불러와야 합니다. 이때 이전에 사용한 key("loginMember")가 필요한 것입니다.

즉, 세션ID는 세션을 가져올 수 있는 key이고, "loginMember" 문자열은 세션 내 Member 객체를 가져올 수 있는 key입니다.

따라서 Member 객체를 세션으로부터 가져오는 것은 "loginMember" 문자열(key)입니다.

2. 세션을 직접 만드는 강의에서도 DB를 사용하지 않습니다. 내부에 Map을 하나 만들고 그 Map을 세션으로 사용하고 있습니다. 즉, 메모리에 만들어진 저장공간입니다.

3. JSESSIONID 라는 이름은 Tomcat 설정으로 변경 가능합니다. 스프링부트라면 Embedded Tomcat을 사용하고 있으며 Embedded Tomcat의 기본 설정을 변경하는 방법도 있으니 이 부분은 직접 검색해보시면 좋을 것 같습니다.

4. 오타수정은 지금과 같이 질문글에 남겨주시면 영한님께 전달하도록 하겠습니다.

.
감사합니다.

이미지 업로드와 db 트랜잭션 묶는법

0

67

1

Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4

0

92

2

MessageSourceTest 코드

0

67

1

인터셉터 에러 설정

0

66

1

resolveArgument()메서드 질문

0

71

1

43강 검증1 에서 실패 로직 관련 질문있습니다.

0

81

2

타임리프 3.X 버전 rendering, serializer 에러 해결 방법

2

154

3

스프링 빈에 등록이 안되는거 같은데 어떻게 하면 좋을까요?ㅠㅠ

0

121

3

pdf 오타 문의

0

63

1

ItemUpdateForm 검증 관련 질문입니다.

0

62

1

22page 링크 주소 변경

0

69

2

특정 데이터와 파일을 함께 저장 시, 테이블 구조 질문

0

61

1

섹션3번 수업에 대한 질문입니다.

0

98

2

@Autowired 보다 더 좋은 방법이 어떤 걸까요?

0

97

2

타입컨버터 가 람다랑 비슷해 보이는데 저의 생각이 맞는지?.

0

81

1

자바스크립트 인라인에서 객체 직렬화 시 오류가 납니다

0

159

3

스프링부트 - 오류페이지2 에서 500.html 에서 쓰인 객체 질문

0

79

1

톰캣 에러 페이지가 안보입니다.

0

120

2

apiEceptionController에서 센드 에러 호출하면 안되는지?

0

91

1

세션 타임아웃시 쿠키 삭제 방법이 없나요?

0

135

2

ApiExceptionController 질문드립니다.

0

71

1

셀렉박스 챕터에서 option value에 ==배송 방식 선택== 이것을 넣은 이유가 궁금함, 이렇게 구상해도 되는지?

0

69

1

MemberRepository 필드의 fianl 선언 유무

0

92

2

혹시 index.html 에서는 fragment 사용이 안되는건가요

0

64

1