기타

spring return "redirect:/주소"와 return "view이름" 차이

박성하하 2023. 7. 4. 12:29
728x90
반응형

리다이렉트(redirect)

redirect는 웹브라우저(사용자)가 어떤 URL로 웹 서버를 요청했을 때 다른 URL로 넘겨주는 것을 말한다.

redirect :다음 문자열이 "/"로 시작하면 웹 어플리케이션을 기준으로 이동 경로를 생성하고, 그렇지 않으면 현재 경로를 기준으로 상대경로를 사용한다.

return "viewName"

/book 요청 시 콘솔창에

2.Call showBook() 찍힘

최종) localhost:8080/book으로 변동되었고 home.html보여짐

 

return "redirect:/주소"

/coffee요청 시 콘솔창에

3.Call showCoffee()   -------------->로그 찍은 후 return redirect:/가 있기 때문에 다시 /(root,localhost:8080) 호출

1.Call hello()  찍힘

최종) localhost:8080 으로 이동

 

[결론]

return "viewName"는 viewName에 해당하는 view를 보여준다.

return "redirect:/주소"는 redirect후에 적힌 주소로 URL요청을 다시 한다.

  1. 리다이렉트(redirect) 사용:
    • 다른 URL로 사용자를 이동시켜야 할 때, 주로 POST 요청을 처리한 후에 사용됩니다.
    • 주로 성공적인 작업 이후에 사용자를 다른 페이지로 리다이렉트하는 용도로 사용됩니다.
    • redirect: 접두사를 사용하여 URL을 지정합니다.
    • 예시: return "redirect:/home"; ("/home"으로 리다이렉트)
  2. 단순 문자열 이동 사용:
    • 주로 GET 요청을 처리하고, 해당 페이지로 직접 이동해야 할 때 사용됩니다.
    • 주로 폼을 표시하거나 사용자에게 어떤 정보를 보여줄 때 사용됩니다.
    • 문자열로 반환된 URL은 뷰 리졸버(View Resolver)에 의해 뷰로 해석됩니다.
    • 예시: return "home"; ("home"이라는 이름의 뷰로 이동)

따라서, 리다이렉트는 다른 URL로 사용자를 이동시키고, 단순 문자열 이동은 현재 URL에서 다른 뷰로 이동하여 정보를 표시하는 데 사용됩니다.

 

알듯말듯 아리송하게 알고있던 개념인데 확실하게 잡고 넘어가게 되었다.

 

 

 

 

출처:https://action713.tistory.com/entry/spring-return-redirect%EC%A3%BC%EC%86%8C%EC%99%80-return-view%EC%9D%B4%EB%A6%84-%EC%B0%A8%EC%9D%B4

 

spring return "redirect:/주소"와 return "view이름" 차이

검색어 : return redirect spring 리다이렉트(redirect) redirect는 웹브라우저(사용자)가 어떤 URL로 웹 서버를 요청했을 때 다른 URL로 넘겨주는 것을 말한다. redirect :다음 문자열이 "/"로 시작하면 웹 어플리

action713.tistory.com

 

728x90
반응형

'기타' 카테고리의 다른 글

VSCode go live ip설정  (0) 2023.07.10
변수 var , let , const 차  (0) 2023.07.10
Parameter / Argument 차이점  (0) 2023.07.06
@RequestMapping 대신 @PostMapping @GetMapping 쓰는 이유  (0) 2023.07.04
Spring Framework / Spring Boot 차이점?  (0) 2023.06.29