인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

집이좋아님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 등록

memberForm 질문

해결된 질문

작성

·

212

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

저는 memberForm을 생성해서 뷰로 전송 -> 뷰에서 memberForm을 setter로 채움 -> 채운 memberForm을 post요청에 함께 전송

으로 이해했습니다.

근데 create에서 받은 memberForm하고 createForm에서 받은 memberForm하고 다른 객체로 나옵니다.

어디 부분이 잘못됐는지 알고싶습니다.

 

답변 2

2

OMG님의 프로필 이미지

안녕하세요. peter님, 공식 서포터즈 OMG입니다.

뷰에서 memberForm을 setter로 채움

뷰에서 채우는게 아닌, 사용자가 입력한 정보( ex) age=10, name='홍길동')만 클라이언트에서 서버로 넘어가게 됩니다.

서버는 클라이언트로부터 받은 정보를 바탕으로 새로운 memberForm을 생성하게 됩니다.

따라서 서로 다른 객체로 나오는게 맞습니다 😀

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 집이좋아님!

memberForm 관련하여 질문해주신 부분에 대해 설명드릴게요. 스프링의 경우, 컨트롤러에서 폼 객체를 받아 처리하는 과정에서 새로운 객체가 생성되기 때문에, 뷰에서 채운 데이터가 새롭게 전송될 때는 기존 객체와는 다른 메모리 주소를 가질 가능성이 있습니다.

memberForm과 관련된 유사한 질문과 답변을 제공해 드릴게요:

  1. memberForm 매개변수 질문입니다. - 스프링이 자동으로 새로운 객체를 생성하고, HTML에서 name 값을 받아와 객체 안에 setName() 메소드로 넣어주는 과정을 설명하고 있습니다.

  2. 반드시 MemberForm이나 클래스 형태로 접근해야 하나요? - 별도의 클래스를 사용하는 것의 장점과 단점을 비교한 예제를 제공하고 있습니다.

스프링 MVC에서 Form 객체를 사용하는 경우 객체의 수명 주기와 데이터 바인딩이 어떻게 동작하는지를 이해하는 것이 중요합니다. 개발 환경이나 코드를 확인해 보면서 디버그 모드로 각 객체의 메모리 주소를 확인해보면 더 구체적으로 이해할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.