IPP
작업평가
제1과제
-데이터 입출력 구현
-SQL 응용
제2과제
-통합구현
제3과제
-서버프로그램 구현
제4과제
-화면설계
*외부평가 환경 설정 참고자료
개발도구
1. Java SE JDK 8.0.20
2. Eclipse Java EE IDE
개발 및 실행 환경
Apache Tomcat 8.0.26
DBMS
Oracle 11g Express Edition 11.2
*외부평가 시험 시에 Tomcat 폴더와 ojdbc6.jar 파일이 있다고 한다. 이거는 현 시점이 외부환경과 다르니
Tomcat는 설치법과 ojdbc6.jar은 파일을 따로 첨부된 것을 확인.
총 시험 시간 3시간 30분
시작!
먼저 외부 환경을 설정하자.
1.sql plus를
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=stallon72&logNo=10138741069
[윈도우즈] 오라클 11g 클라이언트 / SQLPLUS 설치하기
이 글은 오라클에 대한 분노의 게이지를 삭혀가며 쓴 글임을 밝힌다. 원래부터 오라클은 설치, 설정, 운영,...
blog.naver.com
여기 방법으로 다운받도록하자.
2.Eclipse
이거는 알아서 다운 받자.
3. Apache Tomcat 8.0.26
https://tomcat.apache.org/ 링크로 들어가서
첫페이지에서 쪼금만 내리면 8.5 버젼에 관한 내용이 있고, 거기에 Download 링크가 있다. 클릭.
본인 운영체제에 맞춰서 클릭! (보통은 64-bit 이긴하다.) 하면 다운로드가 된다.
압축풀기.
압축풀기 완료.
4.ojdbc6.jar 다운로드
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=turtle0720&logNo=60208826288
이클립스와 JDBC 연동 (ojdbc6.jar 파일 첨부)
파일만 필요하다면, 포스팅에 첨부해 둔 파일만 받자! ▼ JDBC Driver 다운로드 ...
blog.naver.com
Oracle 공홈에서 ojdbc6.jar 파일을 찾을 수가 없어서..
여기 블로그에서 jar파일 다운 받았다. 혹시 몰라서 자료는 첨부했다.
자 그러면 이제 다 준비했다.
여기 참고자료는 https://c.q-net.or.kr/cont/bbs/cmnWldsExpDetail.do 여기서 알아서 "SW개발" 검색하면 찾을 수 있다.
저 파일을 토대로 작업을 진행해보자.
나는 전에 오라클 만지면서 사용자를 아마도 설정해주었던거 같다. 만약 이렇게 나온다면 이전에 사용자를 만들어 둔 것이니, 잘 기억해서 사용자와 비밀번호를 쳐서 들어가기 바란다.
비밀번호는 원래 쳐도 아무런 표현이 안나온다.
이제 보니 나는 21c 이네. 크게 상관은 없을 것 같다.
//나는 system , 123456
여기서 나랑 조금 다른 사람들은 로그인을 할 때
"connect system/1234" 로 로그인을 하고
만약 로그인이 안되는 경우라면
ID에 sys as sysdba 입력 후
alter user system identified by 1234; 을 입력해서 로그인을 한다.
근데 나는 개인적으로 이 모든 경우가 안되는 경우에
+ 과제 진행 중 db가 연결 안 되는 경우가 있어서
사용자명과 비밀번호를 새로 생성했다.
위 처럼 12c 이전 버전인 분들은 그냥 c## 붙이지 않아도 생성이 되었겠지만
나는 12c 버전 이상이라 c##을 붙여야 사용자가 생성이 되었다.
이제 권한 부여.
이제 연결이 되었는가 확인하고 계정을 연결해보자.
연결 완료.
이제 작업해보자.
제1과제
-데이터 입출력 구현
-SQL 응용
(작업1) DM발송목록 테이블을 생성하시오
DB 테이블은 다음과 같다.
메모장을 키고 작성하자.
길이가 조금 다른데, grade 같은 경우 1인데 2로 늘린건 실제로 데이터를 넣을 때 데이터 길이가 모자르기에 늘린 것이다.
이 부분은 아마 시험에서는 제대로 주어질 것이니 걱정말자.
메모장을 켜서 저렇게 만들었다면 그대로 복사해서 sql plus에 붙여넣자.
이제 제대로 나오는지 확인하기 위해
DESC DM_TBL;
작업 1완료.
(작업2)고객정보 테이블을 생성하시오.
테이블이 위와 같으니,
CREATE TABLE bookinfo_tbl(
custid VARCHAR2(10) NOT NULL PRIMARY KEY,
author VARCHAR2(20),
goods CHAR(20),
phone VARCHAR2(13),
email VARCHAR2(20),
area VARCHAR2(20)
);
전화번호도 길이가 짧아서 늘린 것이다. 관심상품도!
작업 2완료
(작업3)샘플데이터를 참조하여 DM발송내역정보와 고객정보테이블에 데이터를 생성하시오.
이 2개의 데이터를 Insert 하면 된다.
INSERT INTO DM_TBL VALUES (1, 'aaa', TO_DATE('20171201','YYYYMMDD'),'안녕하세요?','10','1','C1');
INSERT INTO DM_TBL VALUES (2, 'bbb', TO_DATE('20171201','YYYYMMDD'),'안녕하세요?','10','2','C1');
INSERT INTO DM_TBL VALUES (3, 'ccc', TO_DATE('20171201','YYYYMMDD'),'안녕하세요?','10','3','C1');
INSERT INTO DM_TBL VALUES (4, 'ddd', TO_DATE('20171224','YYYYMMDD'),'안녕하세요?','20','V','C2');
INSERT INTO DM_TBL VALUES (5, 'eee', TO_DATE('20171224','YYYYMMDD'),'안녕하세요?','20','VV','C2');
INSERT INTO DM_TBL VALUES (6, 'fff', TO_DATE('20171224','YYYYMMDD'),'안녕하세요?','30','1','C3');
DM발송내역정보 데이터 생성 완료.
확인 완료.
근데 **** 여기서 중요한게 있다.
실제 시험에서 저런식으로 조금 잘리게 나오면 0점 처리한다는 것이다. (말이 되나?)
그래서 set linesize랑 set pagesize를 해야 한다.
Set linesize 1500;
1500정도 주었다. 1000주니까 조금 부족하게 짤리더라.
이제 만족하겠지. 다시 데이터 삽입하자.
INSERT INTO bookinfo_tbl VALUES('aaa', '김고객', '의류', '010-1111-1111', 'aaa@korea.com', '서울');
INSERT INTO bookinfo_tbl VALUES('bbb', '이고객', '의류', '010-1111-1112', 'bbb@korea.com', '서울');
INSERT INTO bookinfo_tbl VALUES('ccc', '박고객', '식료품', '010-1111-1113', 'ccc@korea.com', '경기');
INSERT INTO bookinfo_tbl VALUES('ddd', '홍고객', '공산품', '010-1111-1114', 'ddd@korea.com', '대전');
INSERT INTO bookinfo_tbl VALUES('eee', '조고객', '컴퓨터', '010-1111-1115', 'eee@korea.com', '대전');
INSERT INTO bookinfo_tbl VALUES('fff', '백고객', '관광', '010-1111-1116', 'fff@korea.com', '울산');
조금 불만족인데..?
SET linesize 2000;
2000까지 했네. 어쨋든 작업 3완료.
(작업4)고객발송내역 조회 SQL 문을 작성하시오.
굿. 근데 조금 다르니까 컬럼 이름좀 바꾸어줬다.
굿. 근데 캠페인구분이라 썼는데 왜 캠페만 나오지?
SELECT t1.dmno as 발송번호, t1.custid as 고객ID, t2.author as 고객명, TO_CHAR(t1.maildate, 'YYYY-MM-DD') as 발송일, t1.contents as 내용, t1.campain as 캠페인구분
FROM DM_TBL t1 JOIN bookinfo_tbl t2
ON t1.custid=t2.custid;
작업 4 완료.
(작업5)고객등록 입력 화면을 위해 고객정보저장을 위한 SQL을 작성 하시오
INSERT INTO BOOKINFO_TBL VALUES(?, ?, ?, ?, ?, ?)
//입력 받은 데이터를 집어 넣는 거니까 PrepareStateMent로 작성 한 것이다.
작업5 완료.
(작업6) 지역별 DM 발송 건수 통계를 구하는 SQL문을 작성 하시오
SELECT t2.area, COUNT(*)
FROM DM_TBL t1 JOIN BOOKINFO_TBL t2
ON t1.custid=t2.custid
GROUP BY t2.area;
작업 6 완료. 과제 1 끝. 아 절대로 이 sqlplus를 끄지말자.. 제발
--------------------------------------
제2과제
-통합구현
html로 그림 1 보여주고
확인 눌렀을 때 정상 조회 , 미등록 코드 조회 결과 를 jsp로 작성 하면 된다.
클릭. Eclipse 키고
폴더는 나는 C에 L5Test라고 폴더 만들었다. (현재 빈 폴더)
Launch 클릭.
Create a Dynamic Web project 클릭.
project name 은 작업 2니까 work2
Dynamic web module version 은 이따가 apache 8.5 를 사용 할 때면 2.5를 써야 하니까 2.5로 맞추자.
Finish
HTML File 클릭.
기본 페이지는 index.html이지.
이제
이걸 표현 해야 하니
처럼 만들어 주자.
그리고 이제 서버 설정하고 포트를 조금 바꾼다.
아래 클릭 서버 누르자.
Apache 클릭
Tomcat v8.5 Server 선택
Next
Browse... 클릭
apache-tomcat-8.5.84 클릭
후
이 상태에서 폴더 선택
(이전 상태에서 누르면 인식 못한다)
Finish 클릭.
짠 확인.
만약 안들어 갔다면 위에 나왔던 내용 중 Dynamic module 버젼이 잘 맞는지 확인해보자.
8.5 기준으로 나는 Moudle 2.5로 선택했다.
저기 tomcat v8.5 Server at localhost 더블 클릭해보자.
포트를 9098로 변경.
컨트롤 + s 로 저장.
run 버튼인 초록이 클릭
OK 확인 후
Finish
런 되고 있는 것을 확인 할 수 있고. 이는 곧 페이지 확인 할 수 있다는 것이다.
웹 페이지에서 확인 완료.!
이제 결과를 확인 할 수 있는 result.jsp를 만들자.
기본 틀은 만들었다. 이제 이 상태에서 유저의 정보와 제품의 정보를 Jsp로 받아서 html에 출력을 시키면 된다.
User의 정보를 받기 위한 변수 선언
Product의 정보를 받기 위한 변수 선언
그리고 index.html에서 form의 action을 통해서 데이터 요청하는 거
product의 code를 셋 하고 find
이제 UserInfo 와 ProductInfo를 위한 Class 작성
UserInfo.java 완성
같은 방식으로
ProductInfo.java 완성
마지막으로 result.jsp 도 맞게 수정.
서버를 끄지 않았다면,
과제 2 완료.
제3과제
-서버프로그램 구현
같은 방식으로 진행.
다만 여기서 주의점은 DB를 연결한다는 것. 이게 제일 중요하다.
Data Source Exploer->New..->Oracle 더블 클릭하면
이와 같이 나오고 여기서 + 버튼!
버전 11 선택 더블 클릭
JAR List->Add JAR/Zip..
아까 다운 받아둔 ojdbc6 클릭
그 외의 다른 jar 파일은 Remove
Properties 설정.
비번 12345
ID c##test1
Database Name 은 xe로 바꾸기
URL 도 똩같이 바꾸기.
그리고 OK 버튼 후
Test Connection 클릭
Ping succeeded! 나오면 성공
Finish
DB 연결 성공.
연결 된 것을 확인 할 수 있다.
이제 DB에 내가 필요한 테이블을 완성해보자.
Open SQL Scrapbook
CREATE TABLE custom_01(
p_id VARCHAR2(10) NOT NULL PRIMARY KEY,
p_pw VARCHAR2(10),
c_name VARCHAR2(20),
c_email VARCHAR2(20),
c_tel VARCHAR2(14)
);
Type -> Oracle_11
Name->New Oracle (내가 정해준 이름)
Database-> xe
전체 드래그 후
Execute All
Succeess 확인 후
lib에다가
아까 다운 받은 ojdbc6.jar 것을 그대로 마우스를 긁어와서 copy
이것이 Driver 를 사용하게 해준다.
add_apply.jsp 완성
add.jsp 완성
find.jsp 완성
등록 누르면
다시 조회를 눌러보면
내가 등록한 정보들이 들어 간 것을 볼 수 있다.
과제 3 끝.
과제 4는 사실 뭔지 잘 모르겠다. 다만
만약 요구 사항이
다음과 같다면
최대한 많은 항목을 작성하고 종류 별로 뭔가 입력하는 창이면 Textfield
무엇인가 선택해야 하는 것이면 Choice
삭제,등록 같은 버튼이 필요한 것이면 Button 으로 종류를 지정하고 자릿수는 알아서 생각해서 넣으면 되는 것 같다.
과제 4 끝.
참고자료
1.https://www.youtube.com/watch?v=FEhnr9tCVJc //한국산업인력공단에서 따로 제작한 영상임
2.https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=stallon72&logNo=10138741069 //sql plus 다운
3.https://tomcat.apache.org/ //톰캣다운
4.https://c.q-net.or.kr/cont/bbs/cmnWldsExpDetail.do //공개문제 링크
5.https://oh-rot-ha-da.tistory.com/69 //sql plus 계정 생성 및 권한 부여하기
'자격증 > L5_SW개발(IPP)' 카테고리의 다른 글
일학습병행 SW개발_L5 문제(23년도) (11) | 2023.02.23 |
---|---|
SW개발L5 외부평가 후기 및 (지원금 총 정리) (1) | 2023.02.23 |
L5 면접 (0) | 2023.01.17 |
L5 지필 (0) | 2023.01.12 |
SW개발L5 준비 (2023년 2월 6일 시험 대비) (0) | 2023.01.11 |