ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] RedirectAttributes
    Spring 2021. 6. 21. 15:19

    RedirectAttributes

     

    폼 형식의 문서를 작성 후, 서버로 보내면(POST 방식) 곧이어 다른 페이지로 리다이렉트 하는데,

    이러한 리다이렉트 방식은 GET방식이라 전송에는 적절치 않다.

     

    리다이렉트 특징은 다음과 같은데,

    spitter 객체를 보내려고 한다

    리다이렉트가 발생하면 원래 요청은 끊어지고, 새로운 HTTP GET 요청이 시작된다.

    때문에 리다이렉트 실행 이전에 수행된 모델 데이터는 소멸한다. 따라서 리다이렉트로 모델을 전달하는 것은 의미없다.

    그러나 GET의 특징을 사용하면 리다이렉트로도 데이터를 전달할 수 있는 방법이 존재한다.

    리다이렉트는 HTTP GET 메소드 방식이기때문에 

    아래 그림 처럼 header에 ? 파라미터를 붙여서 전달한다.

    하지만 GET 방식의 특성상 URL에 노출된다는 단점이 존재한다.

    그점을 보완하기 위해서 스프링은 RedirectAttributes 클래스를 제공한다.

    이 클래스는 모델의 기능을 그래도 확장(extends) 했으며, 몇개의 메소드가 추가 됐다.

     

     

    RedirectAttributes 작동 방식

    RedirectAttributes는 위의 그림처럼 리다이렉트가 발생하기전에 모든 플래시 속성을 세션에 복사한다.

    리다이렉션 이후에는 저장된 플래시 속성을 세션에서 모델로 이동시킨다.

    헤더에 파라미터를 붙이지 않아 URL에 노출이 될 위험성도 걱정할 필요가 없다.

     

     

    addFlashAttribute()

     

    addFlashAttribute는 RedirectAttribute 가 제공하는 메소드로 

    리다이렉트 진전 플래시에 저장하는 메소드다.

    리다이렉트 이후에는 소멸한다.

     

     

     

     

     

    출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=allkanet72&logNo=220964699929

    728x90
    반응형

    'Spring' 카테고리의 다른 글

    [Spring] model  (0) 2021.06.08
    Maven 이란?  (0) 2021.01.11
    [Spring Security] 스프링시큐리티의 기본 개념과 구조  (1) 2020.12.01
    Spring MVC 패턴  (1) 2020.10.25
    Spring에 커넥션풀(Connection Pool) 등록 - HikariCP  (1) 2020.10.24

    댓글

Designed by Tistory.