본문 바로가기

BE/Spring

[Spring] 리다이렉트 / 포워드 ( redirect, forward ) 차이점

 

 

 

 

 

리다이렉트 / 포워드

파일 세팅

 

간단하게 로그인 폼 작성

 

redirect 와 forward 차이

 

redirect : 사용자가 주소를 전달받아 서버에 다시 요청한다 ( 즉, get 방식으로 요청된다, 파라미터 값이 전달되지 않음 )

forward : 사용자가 요청하는 것이 아니라 서버에서 돌려주는 것이라 요청방식이 유지되며 파라미터 값, Attribute 값이 그대로 전달된다 >> forward 를 사용하는 경우 웹 출력 화면이 변해도 ( 실제 출력되는 jsp 파일이 변해도 ) url 은 첫 요청 페이지에서 변하지 않는다.

 

로그인 정보 일치 시 forward 를 사용하여 파라미터 값과 Attribute 값을 success.jsp 에 전달하여 사용

 

코드 실행 영상

 

 

- 차이점 리뷰 -

로그인 성공 시 forward 로 success.jsp 로 넘기며( 서버에서 처리 ), 로그인 실패 시 redirect 로 다시 login 페이지로 이동 >>

1. 콘솔창에 뜨는 method 와 파라미터, Attribute 값이 redirect 에서는 소멸, forward 에서는 그대로 남아 이동되는 것 확인

2. forward 로 이동 시 url 이 처음 접근한 url 이고 ( 서버에서만 처리하여 보여주는 것이기 때문 > 그렇다고 서버에서 Controller 를 거쳐 출력되는 것이 아니라 그냥 jsp 파일만 출력할 뿐 > 고로, 연산은 따로 진행되지 않음 ) redirect 로 이동 시 url 이 처음 접근한 url 이 아니라 변경 요청된 url 임을 확인 ( 서버가 주소를 클라이언트에게 전달하여 클라이언트가 다시 서버로 요청 )

728x90