Download presentation
Presentation is loading. Please wait.
Published byΖήνων Κουταλιανός Modified 6년 전
1
14장. 커넥션풀을 사용한 간단한 쇼핑몰 구축하기 이 장에서 배울 내용 : 앞에서 배운 부분을 종합적으로 학습하기 위해, 쇼핑몰을 작성하는 방법을 학습한다. 쇼핑몰에는 앞에서 배우 것에 추가적으로 파일 업로드의 사용, 트랜잭션이 있어 이들에 대해서도 살펴본다.
2
목차 파일 업로드 쇼핑몰 구축하기
3
파일 업로드 파일 업로드를 위한 기본적인 폼 형태
파일 업로드를 위한 폼은 form 태그의 속성들 중 method속의 값은 "post", enctype속성의 값은 "multipart/form-data"로 지정 <form name="formName" method="post" enctype="multipart/form-data"> 파일을 업로드하기 위해 입력 받기 위해서는 <input>태그의 type속성의 값을 "file"로 지정 <input type="file" name="selectfile">
4
파일 업로드 cos.jar 다운로드 및 배치 cos.jar 파일은 사이트에서 다운로드 cos.jar파일을 톰캣홈\lib폴더 및 이클립스의 [프로젝트]-[WEB-INF]-[lib]폴더에 복사해서 붙여넣기
5
파일 업로드 파일업로드 및 폼 요소를 처리하는 MultipartRequest 클래스
cos.jar파일은 파일업로드 및 폼 요소를 처리하는 MultipartRequest 클래스를 제공 MultipartRequest 클래스의 생성자 MultipartRequest(javax.servlet.http.HttpServletRequest request, java.lang.String saveDirectory, //파일 업로드할 폴더 int maxPostSize, //업로드 할 파일의 최대크기 java.lang.String encoding, //인코딩방식 FileRenamePolicy policy) //기본 보안 적용
6
파일 업로드 파일업로드 및 폼 요소를 처리하는 MultipartRequest 클래스
메소드 : 리턴타입 getContentType(java.lang.String name) : java.lang.String 업로드된 파일의 컨텐트 타입을 반환하는 것으로, 업로드된 파일이 없으면 null을 리턴한다. getFile(java.lang.String name) : java.io.File 서버 상에 업로드된 파일을 File객체 타입으로 리턴한다. 업로드된 파일이 없다면 null을 리턴한다. getFileNames() : java.util.Enumeration 폼의 요소들 중 <input type="file">로 된 파라미터들을 받아서 Enumeration타입의 객체를 리턴한다. getFilesystemName(java.lang.String name) : java.lang.String 사용자가 업로드한 파일의 서버 상에서의 실제 파일명을 리턴한다.
7
파일 업로드 MultipartRequest클래스가 제공하는 주요 메소드 메소드 : 리턴타입
getOriginalFileName(java.lang.String name) : java.lang.String 사용자가 업로드한 파일의 원래 파일명을 리턴한다. 파일명이 중복될 경우 이름이 변경되므로, 변경 되기 전의 원래 파일명이 리턴된다. getParameter(java.lang.String name) : java.lang.String name에 해당하는 파라미터의 값을 리턴한다. getParameterNames() : java.util.Enumeration 폼의 요소들 중 <input type="file">아닌 파라미터들을 Enumeraton객체타입으로 리턴한다. getParameterValues(java.lang.String name) : java.lang.String[] 하나의 파라미터에 대해 여러개의 값을 가지는 <input type="checkbox">와 같은 경우에 파라미터의 값을 얻어내기 위해 사용된다.
8
쇼핑몰 구축하기 목차 쇼핑몰 시스템의 기본구조 테이블 작성 관리자영역 작성 사용자영역 작성
9
쇼핑몰 시스템의 기본구조 쇼핑몰은 기본적으로 물품을 등록 및 수정하고 구매된 목록을 관리하는 관리자의 영역과 등록된 상품을 기반으로 작성된 쇼핑몰을 통한 사용자의 쇼핑영역으로 나뉨
10
쇼핑몰 시스템의 기본구조 폴더 구조별 작성할 JSP페이지와 패키지 별로 작성해야 할 자바 빈
11
테이블 작성 쇼핑몰 시스템에서 수정 및 생성할 각 테이블의 정보 테이블명 설명 생성형태 member
쇼핑몰의 고객 정보를 저장 관리 기존 테이블 수정 manager 쇼핑몰의 관리자 정보를 저장 관리 새로 생성 book 쇼핑몰의 상품을 저장 관리 bank 상품 구매 시 입금 계좌 정보를 저장 관리 cart 장바구니의 상품 목록을 저장 관리 buy 상품 구매 시 구매 상품의 목록을 저장 관리
12
테이블 작성 [member] 테이블 수정 -쇼핑을 하는 사용자의 정보를 가짐 alter table member
add address varchar(100) not null; add tel varchar(20) not null; update member set address='서울시 마포구 양화로6길 9', tel=' ' where set address='인천시 남동구 정각로 29', tel=' ' where set address='경기도 구리시 아차산로 439', tel=' ' where
13
테이블 작성 [manager] 테이블 생성 - 쇼핑몰의 관리자 정보를 저장 create table manager(
managerId varchar(50) not null primary key, managerPasswd varchar(16) not null ); insert into manager(managerId,managerPasswd)
14
테이블 작성 [book] 테이블 생성 -상품에 대한 정보를 가짐 create table book(
book_id int not null primary key auto_increment, book_kind varchar(3) not null, book_title varchar(100) not null, book_price int not null, book_count smallint not null, author varchar(40) not null, publishing_com varchar(30) not null, publishing_date varchar(15) not null, book_image varchar(16) default 'nothing.jpg', book_content text not null, discount_rate tinyint default 10, reg_date datetime not null );
15
테이블 작성 [bank] 테이블 생성-결제계좌에 대한 정보를 가짐 create table bank(
account varchar(30) not null, bank varchar(10) not null, name varchar(10) not null ); insert into bank(account, bank, name) values(' ','내일은행','오내일');
16
테이블 작성 [cart] 테이블 생성-장바구니 역할 create table cart(
cart_id int not null primary key auto_increment, buyer varchar(50) not null, book_id int not null, book_title varchar(100) not null, buy_price int not null, buy_count tinyint not null, book_image varchar(16) default 'nothing.jpg' );
17
테이블 작성 [buy] 테이블 생성-사용자가 구매한 상품에 대한 정보를 가짐 create table buy(
buy_id bigint not null , buyer varchar(50) not null, book_id varchar(12) not null, book_title varchar(100) not null, buy_price int not null, buy_count tinyint not null, book_image varchar(16) default 'nothing.jpg', buy_date datetime not null, account varchar(50) not null, deliveryName varchar(10) not null, deliveryTel varchar(20) not null, deliveryAddress varchar(100) not null, sanction varchar(10) default '상품준비중' );
18
관리자 영역 작성 관리자는 새로운 상품(여기서는 책)을 등록/수정/삭제 관리하는 상품 관리 작업과 구매된 구매목록을 가지고 구매 및 배송 등의 구매 관리 작업. 관리자 영역은 크게 관리자를 인증하는 부분과 상품관리를 하는 부분 및 구매 관리를 하는 부분으로 나눔.
19
관리자 영역 작성 관리자 영역
20
관리자 영역 작성 관리자 영역의 자바 빈 : ch14.bookshop.master 패키지
상품 등록/수정 /삭제 시 데이터저장에 사용하는 빈 - ShopBookDataBean.java 상품을 등록/수정/삭제 시 데이터베이스와 연동하는 빈 - ShopBookDBBean.java
21
관리자 영역 작성 관리자 영역의 자바 빈 : ch14.bookshop.master 패키지
22
관리자 영역 작성 관리자의 메인페이지 및 인증관련 페이지의 작성
23
관리자 영역 작성 상품 등록, 수정 및 삭제 작업 페이지 작성
24
관리자 영역 작성 주문된 구매목록 관리 페이지 작성
25
사용자 영역 작성 사용자의 영역은 크게 세 부분으로 구분 쇼핑을 하기 위한 화면을 구성하는 부분
쇼핑몰에서 장바구니에 담기를 한 후의 장바구니의 관리 부분 장바구니에서 구매를 수행했을 때 처리해야 할 작업을 수행하는 부분
26
사용자 영역 작성 사용자 영역
27
사용자 영역 작성 사용자 영역의 페이지 및 자바빈
28
사용자 영역 작성 쇼핑하기 위한 부분에서 필요한 페이지와 자바빈
29
사용자 영역 작성 쇼핑하기 위한 부분에서 필요한 페이지와 자바빈 자바빈
쇼핑을 하기 위한 화면구성에서 데이터를 저장하는 자바빈 : CustomerDataBean.java 쇼핑을 하기 위한 화면구성에서 DB와 연동하는 자바빈 : CustomerDBBean.java
30
사용자 영역 작성 쇼핑하기 위한 부분에서 필요한 페이지와 자바빈 JSP페이지 쇼핑몰 메인 페이지인 :shopMain.jsp
메인 페이지의 초기 내용 표시: introList.jsp 회원 인증 : loginPro.jsp, logout.jsp
31
사용자 영역 작성 장바구니 관리에서 필요한 페이지와 자바 빈
32
사용자 영역 작성 장바구니 관리에서 필요한 페이지와 자바 빈 자바빈
장바구니에서 데이터를 저장하는 자바빈 : CartDataBean.java 장바구니에서 DB와 연동하는 자바빈 : CartDBBean.java
33
사용자 영역 작성 장바구니 관리에서 필요한 페이지와 자바 빈 JSP 페이지
장바구니에 상품 추가 페이지 :cartInsert.jsp 장바구니 목록 표시 페이지 : cartList.jsp 장바구니 목록의 수량을 변경 폼 updateCartForm.jsp 장바구니 목록의 수량을 변경하는 페이지 : updateCart.jsp 장바구니 목록의 개별 항목 삭제 및 장바구니 비우기 페이지 : cartListDel.jsp
34
사용자 영역 작성 구매 관리에서 필요한 페이지와 자바 빈
35
사용자 영역 작성 구매 관리에서 필요한 페이지와 자바 빈 자바빈
구매 작업을 위해 데이터를 저장하는 자바빈 BuyDataBean.java 구매 작업을 위해 DB와 연동하는 자바빈 BuyDBBean.java
36
사용자 영역 작성 구매 관리에서 필요한 페이지와 자바 빈 JSP페이지 구매 폼 페이지 buyForm.jsp
구매목록에 추가하는 작업을 처리하는 페이지 buyPro.jsp 구매된 목록을 확인하는 페이지 buyList.jsp
Similar presentations