Spring Framework 를 이용한 웹을 만드는 경우에 등록, 수정, 삭제 작업은 처리가 완료된 후 다시 동일한 내용을 전송할 수 없도록 브라우저의 URL을 이동하는 방식인 Redirect를 이용한다.
이 때 Redirect 시 데이터를 전달할 수 있는 방법에 addAttribute, addFlashAttribute가 있다. addAttribute를 이용할 경우엔 requestparameters로 값을 전달하게되며, get 방식이므로 URL에 데이터를 남기게된다. 이는 보안에도 안좋고 String으로 변환이 가능한 원시타입만 넘길수 있다는 뜻이다.
하지만 addFlashAttribute의 경우에는 세션에 데이터를 저장하게된다. 이는 요청 매개 변수(requestparameters)로 값을 전달하지 않고 객체 그대로 전달하게 되며, 일회성으로 사용된 후 값이 소멸된다.