미션 수행 기간 : 20220413 ~ 20220430
참고자료 :
기술문서
접속포트 = 포트+IP로 구성됨
nslookup izerone.co.kr 검색후 ip를 확인하세요
미션1(제공된 서버를 세팅하라!)
1.
설정동영상보기
2.Tomcat 설정 완료후 master계정으로 접속되게 설정하기
su
nano /usr/tomca8(9)/server.xml 파일 수정
Host name="localhost" appBase="/home/master"
unpackWARs="true" autoDeploy="true">
Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
/Host
Host name="jslweb.izerone.co.kr" appBase="/home/master" unpackWARs="true" autoDeploy="true"
Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="jslweb.izerone.co.kr_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
Context docBase="ROOT" path="/" reloadable="true" source="org.eclispe.jst.jee.server:ROOT">
Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:XE" username="master" password="123456" maxActive="10" maxIdel="10" maxWait="-1" /
/Context
/Host
53기
미션2 아래 제시된 명세서를 보고 프로그램을 완성하라!
모든 개발은 로컬에서 마무리 후 서버에 업로드 합니다.
완성된 사이트 보러가기(참고용)
프젝트명 |
onlineshop |
패키지명 |
com.jslhrd.onlineshop.admin.controller.action
com.jslhrd.onlineshop.controller
com.jslhrd.onlineshop.controller.action
com.jslhrd.onlineshop.dto
com.jslhrd.onlineshop.dao
util
|
디렉토리명 |
admin
css
images
member
mypage
product
product_images
qna
|
파일명 |
/ |
index.jsp
index.html
header.jsp
footer.jsp
|
/admin |
css |
|
images |
|
member |
|
order |
|
product |
|
qna |
|
index.jsp |
main.jsp |
footer.jsp |
header.jsp |
|
|
서블릿명 |
com.jslhrd.onlineshop.controller
> OnlineShopServlet.java
> ActionFactory.java
|
dto |
com.jslhrd.onlineshop.dto
AddressVO.java |
private String zipNum;
private String sido;
private String gugun;
private String dong;
private String zipCode;
private String bunji;
|
MemberVO.java |
private String id;
private String pwd;
private String name;
private String email;
private String zipNum;
private String address;
private String phone;
private String useyn;
private Timestamp indate;
|
ProductVO.java |
private int pseq;
private String name;
private String kind;
private int price1;
private int price2;
private int price3;
private String content;
private String image;
private String useyn;
private String bestyn;
private Timestamp indate;
|
CartVO.java |
private int cseq;
private String id;
private int pseq;
private String mname;
private String pname;
private int quantity;
private int price2;
private Timestamp indate;
|
OrderVO.java |
private int odseq;
private int oseq;
private String id;
private Timestamp indate;
private String mname;
private String zipNum;
private String address;
private String phone;
private int pseq;
private String pname;
private int quantity;
private int price2;
private String result;
|
QnaVO.java |
private int qseq;
private String subject;
private String content;
private String reply;
private String id;
private String rep;
private Timestamp indate;
|
|
dao |
번호 |
url패턴 |
클래스명 |
url패턴 |
1 |
index |
IndexAction |
|
2 |
product_detail |
ProductDetailAction |
|
3 |
catagory |
ProductKindAction |
|
4 |
contract |
ContractAction |
|
5 |
join_form |
JoinFormAction |
|
6 |
id_check_form |
IdCheckFormAction |
|
7 |
find_zip_num |
FindZipNumAction |
|
8 |
join |
JoinAction |
|
9 |
login_form |
LoginFormAction |
|
10 |
login |
LoginAction |
|
11 |
logout |
LogoutAction |
|
13 |
cart_insert |
CartInsertAction |
|
14 |
cart_list |
CartListAction |
|
15 |
cart_delete |
CartDeleteAction |
|
16 |
order_insert |
OrderInsertAction |
|
17 |
order_list |
OrderListAction |
|
18 |
order_detail |
OrderListAction |
|
19 |
order_all |
OrderListAction |
|
20 |
qna_list |
QnaListAction |
|
21 |
qna_write_form |
QnaWriteFormAction |
|
21 |
qna_write |
QnaWriteAction |
|
21 |
qna_view |
QnaViewAction |
|
22 |
mypage |
MyPageAction |
|
관리자 dao
번호 |
url패턴 |
클래스명 |
url패턴 |
1 |
admin_login_form |
AdminIndexAction |
|
2 |
admin_login |
AdminLoginAction |
|
3 |
admin_logout |
AdminLogoutAction |
|
4 |
admin_product_list/td>
| AdminProductListAction |
|
5 |
admin_product_write |
AdminProductWriteFormAction |
|
6 |
admin_product_detail |
AdminProductDetailAction |
|
7 |
admin_product_update_form |
AdminProductUpdateFormAction |
|
8 |
admin_product_update |
AdminProductUpdateAction |
|
9 |
admin_order_list |
AdminOrderListAction |
|
10 |
admin_order_save |
AdminOrderSaveAction |
|
11 |
admin_member_list |
AdminMemberListAction |
|
13 |
admin_qna_list |
AdminQnaListAction |
|
14 |
admin_qna_detail |
AdminQnaDetailAction |
|
15 |
admin_qna_repsave |
AdminQnaResaveAction |
|
|
mysql을 이용한 주키와 포린키 만드는 방법
create table department(
id int auto_increment primary key,
name varchar(20) not null,
code char(13) not null unique key
);
insert into department(name,code)values('개발부','A');
create table employee (
id int auto_increment primary key,
name varchar(20) not null,
code char(13) not null unique key,
dept_id int,
foreign key (dept_id) references department(id)
);
insert into employee(name,code,dept_id)values('홍길동','e001',1)
테이블 : tbl_worker
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
아이디 |
id |
varchar |
20 |
N |
PK |
|
|
2 |
암호 |
pwd |
varchar |
20 |
|
|
|
|
3 |
이름 |
name |
varchar |
40 |
|
|
|
|
4 |
전화번호 |
phone |
varchar |
20 |
|
|
|
|
테이블 : tbl_address
우체국 사이트 확인
자동으로 주소록 등록하는 코드 만들기
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
우편번호 |
zip_num |
varchar |
7 |
|
|
|
|
2 |
시도 |
sido |
varchar |
30 |
|
|
|
|
3 |
구군 |
gugun |
varchar |
30 |
|
|
|
|
4 |
동 |
dong |
varchar |
100 |
|
|
|
|
5 |
우편코드 |
zip_code |
varchar |
30 |
|
|
|
|
6 |
번지 |
bunji |
varchar |
30 |
|
|
|
|
테이블 : tbl_member
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
회원아이디 |
id |
varchar |
20 |
N |
PK |
|
|
2 |
회원암호 |
pwd |
varchar |
20 |
|
|
|
|
3 |
회원이름 |
name |
varchar |
40 |
|
|
|
|
4 |
회원이메일 |
email |
varchar |
40 |
|
|
|
|
5 |
우편번호 |
zip_num |
varchar |
7 |
|
|
|
|
6 |
주소 |
address |
varchar |
100 |
|
|
|
|
7 |
전화번호 |
phone |
varchar |
20 |
|
|
|
|
8 |
탈퇴여부 |
useyn |
char |
1 |
|
|
y |
|
9 |
가입일 |
indate |
TimeStamp |
|
|
|
TimeStamp |
|
테이블 : tbl_product
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
상품번호 |
pseq |
int |
|
N |
PK |
|
|
2 |
상품명 |
name |
varchar |
|
|
|
|
|
3 |
상품종류 |
kind |
varchar |
|
|
|
|
|
4 |
원가 |
price1 |
int |
|
|
|
|
|
5 |
판매가 |
price2 |
int |
|
|
|
|
|
6 |
판매가-원가 |
price3 |
int |
|
|
|
|
|
7 |
상품내용 |
content |
varchar |
|
|
|
|
|
8 |
상품이미지 |
image |
varchar |
|
|
|
|
|
9 |
상품삭제여부 |
useyn |
char |
|
|
|
|
|
10 |
베스트상품여부 |
bestyn |
char |
|
|
|
|
|
11 |
등록일 |
indate |
timestamp |
|
|
|
timestamp |
|
테이블 : tbl_cart
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
장바구니번호 |
cseq |
int |
|
N |
PK |
|
|
2 |
회원아이디 |
id |
varchar |
|
FK |
|
|
|
3 |
상품번호 |
pseq |
int |
|
FK |
|
|
|
4 |
수량 |
quantity |
int |
|
|
|
|
|
5 |
처리완료여부 |
result |
int |
|
|
|
|
|
6 |
등록일 |
indate |
timestamp |
|
|
|
|
|
테이블 : tbl_orders
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
주문번호 |
oseq |
int |
|
N |
PK |
|
|
2 |
주문자아이디 |
id |
varchar |
|
FK |
|
|
|
3 |
주문일 |
indate |
timestamp |
|
|
|
TimeStamp |
|
테이블 : tbl_order_detail
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
주문상세번호 |
odseq |
int |
|
N |
PK |
|
|
2 |
주문번호 |
oseq |
int |
|
|
FK |
|
|
3 |
상품번호 |
pseq |
int |
|
|
FK |
|
|
4 |
주문수량 |
quantity |
int |
|
|
|
|
|
5 |
처리여부 |
result |
char |
|
|
|
1 |
|
테이블 : tbl_qna
번호 |
속성명 |
칼럼명 |
자료형 |
크기 |
NULL허용 |
키 |
디폴트값 |
비고 |
1 |
글번호 |
qseq |
int |
|
N |
PK |
|
|
2 |
제목 |
subject |
varchar |
|
|
|
|
|
3 |
문의내용 |
content |
varchar |
|
|
|
|
|
4 |
답변내용 |
reply |
varchar |
|
|
|
|
|
5 |
작성자아이디 |
id |
varchar |
|
|
FK |
|
|
6 |
답변유무 |
rep |
varchar |
|
|
|
|
|
7 |
작성일 |
indate |
|
|
|
|
TimeStamp |
|