강의

멘토링

커뮤니티

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

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

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

서블릿 필터 - 인증 체크

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이 실행되게 됩니다.

.

감사합니다.

감사합니다!

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

질문하기