개발자
spring을 이용해서 아디다스 쇼핑몰을 만드려는 중이고 쇼핑몰 기능은 물론, 게시판, 댓글, 관리자 페이지 기능 등등을 넣으려고 생각중입니다 근데 보니까 제품의 상세페이지는 한 제품당 jsp파일을 하나씩 생성해서 하드코딩으로 만들게 되더라구요..? 근데 너무 비효율적이고 시간이 많이 드는 작업이라고 생각되는데 혹시 현업에서는 이 제품들의 상세정보 (ex)신발의 사진, 설명, 사이즈 등등) 가 들어가는 상세 페이지를 하나씩 만드시는 건가요..? 아니면 상세 페이지틀을 먼저 잡아놓고 그 안에 들어가는 정보들을 db에 저장해서 컬럼명(제품 이름, 사진, 설명 등 )을 불러와서 보여주는 식으로 구현하시는건가요?! 혼자 프로젝트를 진행하고 있고 너무 궁금한게 많지만 의지만 앞선 느낌이라 조언 한번씩만 해주시면 감사하겠습니다ㅜㅜ
답변 1
상세 페이지 틀을 만들고, 상품 데이터를 불러와서 보여줍니다. 상세 페이지에서는 {product.name}, {product.price} 처럼 사용해서 전달받는 상품 데이터에 따라 다른 데이터가 보여지게 됩니다. 예를 들면, product/{id} URL을 통해 제품 상세 페이지에 접근한다고 했을 때, 이 페이지는 URL로 전달받은 {id}를 기준으로 DB에 저장된 상품 데이터를 가져와서 렌더링합니다. 여기서 사용자 화면에 보다 빠르게 페이지를 서빙할 수 있도록 미리 서버에서 데이터를 조회한 후 페이지를 렌더링해서 브라우저에 보내주는 서버 사이드 렌더링이 고려될 수 있습니다. 데이터 구조와 컴포넌트 재사용 등에 대해서 고민해보시면서 작업하시면 좋을 것 같습니다. 프로젝트하시면서 다른 고민들도 많이 드실텐데, 모두 성장하는 과정이니 열심히 고민하시고 멋지게 만들어나가시기를 응원드립니다. :)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 05월 31일
현업에서는 각각의 제품마다 개별적으로 JSP 페이지를 만들지 않습니다. 그런 접근 방식은 매우 비효율적이며 유지보수도 어렵습니다. 대신, 상품 상세 페이지의 일반적인 템플릿을 하나 만들고, 이 템플릿에 동적으로 데이터를 채워넣는 방식을 사용합니다. 즉, 해당 상세 페이지에 필요한 정보 (제품 사진, 이름, 설명 등)는 데이터베이스에서 검색되어 동적으로 그 페이지에 채워집니다. 이러한 과정은 보통 백엔드 (예: Spring) 에서 처리하게 되며, 해당 데이터를 뷰에 전달하여 사용자에게 보여줍니다. 이런 방식으로 하면, 상세 페이지가 필요한 모든 제품에 대해 원하는 양식을 동일하게 유지할 수 있습니다. 또한 새로운 제품을 추가하거나 기존 제품의 정보를 변경하려면 데이터베이스만 업데이트하면 됩니다. 따라서 상추처럼 전체 프로젝트 구조를 계획할 때 이러한 점을 고려해야 합니다. 실제로 스프링과 같은 프레임워크는 이러한 방식을 지원하기 위해 MVC (Model-View-Controller) 패턴 등을 사용합니다. 이는 데이터 처리 (모델), 사용자 인터페이스 (뷰), 그리고 둘 사이의 로직 (컨트롤러)을 분리하여 개발의 효율성과 유지 관리성을 향상시키도록 설계되었습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!