인프런 커뮤니티 질문&답변
httpResponse.senRedirect에 대해서 질문드립니다!
해결된 질문
작성
·
366
1
httpResponse.sendRedirect("/login?redirectURL="+requestURI);
이 함수가 setAttribute처럼 httpResponse 객체의 어떤 필드를 "/login?redirectURL="+requestURI 이 값으로 세팅하는 거라고 생각하면 되나요? 함수 이름이 send라서 바로 보내버리는 것처럼 보여서 많이 헷갈리네요.
이 함수 다음에 return이 되면 함수가 종료되고, 스프링이 response를 뒤져보고 저 필드에 경로가 들어있으면 거기로 보내는 방식인가요?
그리고 콘솔 로그에서 미인증 사용자 요청 로직에 들어간 다음에 finally 로직이 왜 호출되는 건가요? return 되면 함수에서 빠져나오고 인증 체크 필터 종료 가 콘솔에 안 나와야 되는거 아닌가요?
답변 1
9
안녕하세요. 컴퓨터공부하자님, 공식 서포터즈 Taewon David Hwang입니다:)
.
sendRedirect("/login?redirectURL="+requestURI");를 실행하게 되면 응답의 헤더인 Location에 redirect될 url을, 응답코드로는 302를 넣어줍니다. 따라서 클라이언트(브라우저)는 해당 응답을 받게 되면 응답코드인 302를 보고 Location의 값(Redirect될 URL)으로 redriect를 시켜주는 것이죠.
.
try - catch - fianlly의 경우 try 내에 return이 있을 때 return이 실행되기 직전에 finally 블록이 실행되고, 다시 돌아와 return이 실행되게 됩니다.
.
감사합니다.






감사합니다!