쇼핑몰 사이트 만들기 순서
1. 기획
2. 화면 구성 & 스토리 보드
3. 인터페이스 문서 작성
-> 회원가입
-> 로그인
-> 회원 정보 수정
-> 회원 탈퇴
-> 상품 목록
-> 상품 상세 정보
-> 구매
-> 상품 등록
-> 상품 수정
-> 상품 삭제
4. DB 설계서 작성
5. 인터페이스 개발 / 뷰 페이지 개발
6. 인터페이스와 뷰 연결
두두몰 인터페이스 문서 작성 및 DB설계서
ER 다이어그램은 이렇게 만듦
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/006.gif)
---------------------------------------------------------------------------------------
MVC 패턴으로 구성하기 위해서
V (view) 는 디자이너(프론트앤드)가 만들어서 백엔드에게 줌
M (model) 여기에 서비스, dao, dto 있으며 DB 와 연결을 해줌
C (controller) 뷰와 모델을 연결하면서 클라이언트의 요청을 받고 분석 / 응답을 전달한다
두두몰 이라는 쇼핑몰을 만들기 위해서 web Project 만듦
( 뷰는 선생님이 주신다고 하셔서 백엔드가 맡게된 업무를 차근차근 시작함 )
1. controller 생성 url = /member/join. Join.java
ㄱ. 클라이언트가 보내는 파라미터 (회원 정보) 값을 꺼내기 getParameter 메서드 사용
ㄴ. 하나의 정보로 합친다. => /member/dto (패키지) MemberInfo 클래스 생성하기
ㄷ. 회원가입 처리 (2) 서비스 필요함
MemberService service = new MemberService();
boolean result = service.join(newMemberInfo);
ㄹ. 회원 가입 처리에 따른 결과 코드 응답
if(result){
성공시 200
} else {
실패시 (서버 문제시) 500번대
}
2. service 생성 /member/service (패키지) MemberService 클래스 생성
ㄱ. Join 메서드 생성하기 거기안에 dao 부르기
MemberInfoDao dao = new MemberInfoDao();
return dao.insert(memberInfo)
boolean 반환하게 만듦
3. dao 생성 /member/dao (패키지) MemberInfoDao 클래스 생성 - DB 연결
<insert 메서드가 전달 받은 memberInfo 를 사용해서 회원 가입이 이뤄지도록 코드 완성하기>
ㄱ. DB에 접속 DBConn.getConnction()
ㄴ. 쿼리 준비
- 쿼리 쓰기 String sql = "INSERT INTO member_info(~~~~) VALUES(~~~)
- preparedstatment 를 준비 한다. pstmt = DBConn.getpstmt(conn, sql);
- 인덱스의 값을 하나씩 저장한다 pstmt.setString(1, memberInfo.getId()); .....
ㄷ. 쿼리 실행
pstmt.executeUpdate(); <insert 이므로 executeUpdate 사용 나머지는 executeQ~
* executeUpdate 는 영향 받은 행의수를 리턴해준다. 성공시 1 리턴 실패시 0 리턴 해줄거임
insert가 실패하는 경우는 오타 컬럼 이름 잘못입력 등 거의 무조건 성공을 한다 라고 가정한다.
성공시 return true;
cath(){
return false: 문제시 false 사용하고 boolean 반환타입 적어주기
예외처리, close 해주기
ㄹ. 쿼리 결과를 활용
'코딩 > 쇼핑몰 만들기' 카테고리의 다른 글
두두몰 상품 상세보기 삭제하기 (0) | 2022.07.04 |
---|---|
쇼핑몰 만들기 상품 등록 페이지 이미지 등록, 페이지네이션 (0) | 2022.07.02 |
쇼핑몰 만들기 4 회원 정보 수정 (0) | 2022.06.30 |
쇼핑몰 사이트 만들기 3 회원정보 수정 값 불러오기 (간단) (0) | 2022.06.30 |
쇼핑몰 사이트 만들기 2 include / 로그인시 버튼 사라지게하기 (0) | 2022.06.30 |