인프런 커뮤니티 질문&답변

tseqnu U님의 프로필 이미지
tseqnu U

작성한 질문수

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

로그인 - 서블릿 HTTP 세션2 - TrackingModes 관련 문의드립니다.

작성

·

522

1

로그인 - 서블릿 HTTP 세션2에서 로그인을 처음 시도하면 URL이 jsessionid 를 포함하고 있는데 - 리다이렉트되는 페이지는 MVC2 강의 처음에 생성했던 static/index.html로 리다이렉트 됩니다.

(MVC 강의 1부터 2까지 하나의 프로젝트에 설정하고 있어서 - 이전의 실습내용도 삭제하지 않은 상황입니다.)

물론 application.yml에 server.servlet.session.tracking-modes=cookie 적용해주면 강의와 똑같이 정상적으로 동작하지만, 위에서처럼 index.html이 나오는 것은 무슨 이유 때문일까요?

 

답변 2

0

시간이 꽤 지났지만 혹시 이유를 찾으셨나요..? 저도 이게 궁금해서 찾아보고 있는데 정보를 못찾겠습니다..

강사님이 강의를 진행한 프로젝트에

스프링 부트 버전은 2.4.4(내장톰캣 버전=Apache Tomcat/9.0.44) 해당 버전에서는 경로에 ;jsession=XXX가 붙어도 GetMapping("/")으로 매핑된 컨트롤러의 메서드가 의도한대로 실행되지만 2.7.13버전(제가 실습하고 있는 버전)은 질문자님 처럼 static/index.html 없다면 templates/index.html이 출력되네요

url에 /+;(세미콜론)만 붙이면 ("/")로 매핑된 주소말고 웰컴페이지를 찾는거 같아요!!

혹시 이유 찾으셨으면 공유 부탁드려도 될까요?!

0

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

아래 글을 참고해 주세요:)

https://jaimemin.tistory.com/1516

감사합니다.

tseqnu U님의 프로필 이미지
tseqnu U
질문자

답변 감사합니다. / 답변으로 주신 링크는 강의 내용에도 있는 부분임을 확인했고 실제 적용하여 세션id가 보이지 않는 것은 잘 적용되었습니다.

그런데 만약 server.servlet.session.tracking-modes=cookie 적용하지 않은 상태에서도

image위와 같이 로그인된 상태로 loginHome.html이 떠야 하는데...


저는 static/index.html로 리다이렉트됩니다 (MVC2 강의 초반부에 타임리프 강의 때 만들었던 그 index.html입니다) 그래서 이 index.html을 삭제했더니
image이번에는 위와 같이 에러 페이지가 나왔습니다. index.html은 애초부터 문제가 아니었습니다.

 

이게 그렇게 중요한 부분은 아닐 수 있고 / 해결되지 않더라도 작동시키는데는 문제가 없지만, URLS에 JSESSION ID가 뜰 때 loginHome.html로 리다이렉트되지 않는 이유는 무슨 문제인지 감이 잡히지 않아 다시 문의드립니다.

tseqnu U님의 프로필 이미지
tseqnu U

작성한 질문수

질문하기