백/Spring, Spring Boot

[Spring] 뷰 리다이렉션 : 현제 페이지에서 다른 페이지로 이동하기 jsp redirect방식과 forward방식

연지양갱 2023. 7. 4. 19:40
728x90
반응형
SMALL

교재

스프링 코딩 공작소 더북

https://thebook.io/080266/0252/

 

스프링 코딩 공작소: 7.2.3 실습 @ModelAttribute를 이용하여 새로운 도서 등록하기 - 4

더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.

thebook.io

 


 

뷰 리다이렉션(view redirection)

사용자 웹 요청에 따라 현재 뷰 페이지에서 다른 뷰 페이지로 이동하는 것을 의미

-> redirect

-> forward

 

GET방식을 사용,,,,,?

@RequestMapping(...)
public String 함수 이름() {
    // 모델 객체로 응답 데이터 저장
    return "redirect:/요청 URL"; // 또는 "forword:/요청 URL"
}

 

 

redirect 방식

 - 웹 브라우저가 요청 URL을 변경하면서 응답 뷰 페이지로 이동하는 방식

 - 웹 브라우저에서 URL을 요청하면 응답 뷰 페이지의 URL로 이동합니다. 이때 웹 브라우저는 새로운 요청을 생성하여 이 동할 URL에 다시 요청합니다. 그래서 처음 보냈던 최초 요청 정보는 이동된 URL에서는 더는 유효하지 않게 됩니다

- 폼에서 데이터를 입력받아 등록하여 시스템(세션, DB)에 변화가 생기는 요청(로그인, 회원 가입, 글쓰기 등)이 있을 때 사용

 

 

forward 방식

- 웹 브라우저가 최초 요청한 URL을 유지하면서 응답 뷰 페이지를 표현하는 방식입니다.

- 현재 뷰 페이지에서 이동할 URL로 요청 정보를 그대로 전달하므로 사용자가 최초로 요청한 요청 정보는 이동된 URL에서도 유효합니다. 실제로 웹 브라우저는 다른 페이지로 이동했음을 알 수 없습니다. 따라서 웹 브라우저에는 최초에 호출한 URL이 표시되고, 이동한 페이지의 URL 정보는 확인할 수 없습니다.

- 시스템에 변화가 없는 단순 조회 요청(글 목록 보기, 검색 등)일 때 사용합니다.

 

 

 

 

redirect : 클라이언트의 요청에 의해 서버의 DB에 변화가 생기는 작업에 사용

forward : 외부에 공개되지 말아야하는 부분을 가리는 데 사용하거나 조회를 위해 사용

반응형