인프런 커뮤니티 질문&답변

서정원님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

로그인 처리하기 - 쿠키 사용

HttpServletResponse와 Model의 차이점이 궁금합니다.

23.12.19 14:01 작성

·

237

1

'로그인 처리하기 - 쿠키사용' 부분을 듣고 제가 모르는 부분이 있는 것 같아 질문 남깁니다.

 

쿠키를 생성하고 쿠키를 보낼 때 response.addCookie(idCookie)를 했는데 Model에도 model.addAttribute(idCookie)가 가능한지가 궁금합니다. 만약 가능하다면 어떤것을 쓰는것이 더 좋을지 만약 불가능하다면 불가능한 이유가 궁금합니다.

답변 1

2

codesweaver님의 프로필 이미지

2023. 12. 19. 20:01

안녕하세요. 서정원님, 공식 서포터즈 코즈위버입니다.

쿠키는 사용자(클라이언트)가 사용해야 할 값입니다. 그래서 HttpServletResponse(=response) 에 담아 전달해야 합니다.

반면 Model은 백엔드에서 뷰파일 생성까지 담당할 경우, 컨트롤러에서 뷰 파일로 데이터를 전달하는 객체입니다. 그래서 Model에 쿠키값을 담아 전달할 경우, 사용자(클라이언트)는 쿠키 값을 처리할 수 없습니다.

감사합니다.

서정원님의 프로필 이미지
서정원
질문자

2023. 12. 20. 10:39

HttpServletResponse는 서버에서 클라이언트에게 주는 용도로 사용이 되고 Model은 백엔드에서 뷰로 넘겨줄 때 데이터를 넘겨주기 위해 사용이 되어서 HttpServletResponse를 사용한다!가 맞을까요?

codesweaver님의 프로필 이미지

2023. 12. 20. 14:34

네 맞습니다.

뷰 생성을 백엔드가 전담할 경우에는 Model을 통해 컨트롤러에서 뷰에 데이터를 전달합니다. 반면, 뷰 생성을 프론트(=클라이언트)가 전담할 경우에는 Model을 사용하지 않고, 컨트롤러에서 HttpServletResponse로 데이터를 전달합니다.