트랜잭션의 특징 원자성 ( Atomicity ) 완전하게 수행 되는 것을 목적 모두 실패하거나 모두 성공하거나 일관성 ( Consistency ) 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지 ( DB 할 때마다 나오는 무결성이 모두 여기에 해당된다.) 독립성 ( Isolation ) 트랜잭션을 수행하는 도중에 다른 트랜잭션의 연산이 중간에 끼어들지 못 하게 한다. ( SQL에서 Locked 기능이 여기에 해당 ) 지속성 ( Durability ) 성공적으로 수행된 트랜잭션은 영원히 반영되어있어야 한다. 데이터베이스의 내용은 무조건 유지되어야 한다. 로그가 존재해야 원자성을 지킬 수 있다. 트랜잭션 상태 상태 설명 활동 ( Active ) 초기상태이며, 트랜잭션이 실행..
DRM 저작권 관리 구성요소 콘텐츠 제공자 - 콘텐츠를 제공하는 저작권자 콘텐츠 분배자 (Contents Distributor) - 암호화된 콘텐츠를 유통하는 곳이나 사람(구글스토어 등) 클리어링 하우스 (Clearing House) - 저작권에 대한 사용 권한, 라이센스 발급, 암호화된 키 관리, 사용량에 따른 결제 관리 등 수행 DRM 컨트롤러(DRM Controller) - 배포된 콘텐트의 이용권을 통제하는 프로그램 패키저 (Packager) - 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화 하는 프로그램 디지털 저작권 관리의 기술 요소 기술 설명 암호화 (Encryption) 콘텐츠 및 라이센스를 암호화하고 전자 서명 할 수 있는 기술 키 관리 (Key Management) 콘텐츠를..
약 2시간의 작업결과로 DB와 JSP의 연결을 끝낼 수 있습니다. CSS는 개인의 자유이므로, 별도로 건들지 않았습니다. 파일은 원하시는 형태로 둘 중 하나로 가져가시면 됩니다. JSP 부분 더보기 top.jsp 쇼핑몰 회원관리 ver1.0 nav.jsp 회원등록 회원목록 조회/수정 회원매출조회 홈으로 footer.jsp Mollang 20.08.29 ver1.0 template.jsp index.jsp JSP 부분 : 회원가입, 회원목록, 업데이트, 매출 정보 확인 더보기 join.jsp 홈쇼핑 회원 등록 회원번호(자동발생) 회원성명 회원전화 회원주소 가입일자 고객등급 도시코드 joinList.jsp 회원목록조회/수정 회원목록 회원성명 전화번호 주소 가입일자 고객등급 거주지역 update.jsp 홈쇼핑..
매출 표현하기 여기가 가장 하이라이트 입니다. DB의 SQL문을 얼마나 자유롭게 활용 가능한가? 를 테스트하는 것 같습니다. 서브쿼리 혹은 JOIN을 통해 난관을 해결해야 합니다. 2개 이상의 테이블을 사용할 경우, UNIQUE 성질을 가진 컬럼만 봅니다. 그리고 SELECT으로 표현할 구간을 살펴보면 끝납니다. CUSTNO라는 공통된 컬럼을 가졌으므로 JOIN을 활용해봅시다. 기본 JOIN을 사용할 경우, INNER JOIN이 활용 됩니다. 따라서 위와 같이 작성할 경우 중복된 값을 포함하여 이렇게 표시되는 것을 확인 할 수 있습니다. 이제 여기서 * 이 아닌,CUSTNO, CUSTNAME, GRADE, PRICE만 표시되도록 만들도록 합니다. 중복된 값을 없애기 위해서는 GROUP BY를 활용합니다...
회원정보 수정하기 시작은 update.jsp를 변경하면서 시작됩니다. 기존 회원가입이 아니라 업데이트를 진행하기 위해서 action부분만 변경하시면 끝납니다. 변경하시게 되었다면 DAO부분에서 회원등록에 사용한 메소드를 복사진행합니다. 당연히 메소드의 명칭은 변경하는 센스를 갖도록 합니다. 기존 회원가입에서 이 3개의 구간만 수정을 하면 끝납니다. return은 이 전에 만든 joinSelectOne.me 로 연결합니다. 기존값은 회원가입을 위한 작업이니, 수정만의 작업으로 변경해주셔야 합니다. Controller 딱 2줄만 추가하여, 수정하기는 끝났습니다. 코드 알아보기 MemberDAO package MemberDB; import java.sql.Connection; import java.sql.Dr..
회원 수정하기1 문제를 보시면 아시겠지만, 회원가입 화면과 매우 흡사합니다. 따라서 직접 만드시지 마시고 회원가입창을 그대로 복사하시길 바랍니다. 저는 이를 update.jsp로 만들었습니다. 이제 회원번호를 누를경우, 정보를 불러오도록 합니다. 벌써 눈치 채신분도 계실겁니다. 기존에 만든 Select만 조금 다듬으면 되는 것을 말입니다. DAO 만들기 //회원 정보 가져오기 public String joinSelectOne(HttpServletRequest request, HttpServletResponse response) { try { //*을 활용하여 모두 출력할 수 있지만, 컬럼을 확실하게 구분하기 위해 컬럼을 표시하였다. String sql = "select CUSTN..
회원 목록 만들기 회원가입 다음으로 초심자에게 어렵다고 한다면 회원목록 불러오기 입니다. 이부분은 대표적으로 ArrayList를 활용하며, 또한 이와같이 수정이라는 주제가 주어졌다면 무엇을 기준으로 회원을 나눌수 있는가?를 생각해보셔야 합니다. 이때 수정하기 위해 특정회원을 불러온다면 기본적으로 primary key(기본키) 혹은 unique 속성을 가진 컬럼을 가져오면 됩니다. joinList.jsp 회원목록조회/수정 회원목록 회원성명 전화번호 주소 가입일자 고객등급 거주지역 간단하게 회원목록을 나타내는 jsp를 만들었습니다. 이제 table에 출력할 수 있도록 db에서 값을 가져오도록 하겠습니다. MemberDAO 처음 활용했던 SELECT문의 확장판입니다. 검색된 SELECT의 여러개의 결과값을 담..
이제 DB를 다루는 부분이 끝났으므로, 유효성 검사부분을 하도록 하겠습니다. 여기부분에 대해서는 별도로 다른 방법을 제시하였습니다. 이유는, 예제에서 주어진 유효성 검사는 빈칸에 대한 유효성 검사를 제시하였지만 실제 시험에서는 빈칸뿐만 아닌 SELECT, CHECKBOX, RADIO 까지 주어진 경우가 있었습니다. 따라서 이부분은 별도의 시간을 갖도록 하였으며 예제에 대한 코드는 이를 활용하여 만들어보시는 것을 추천드립니다. 마지막 결과 코드는 제일 마지막 게시글에 올렸으므로, 참고하시면 감사하겠습니다. 유효성 검사 테스트 input 유효성 검사하기 1. text 2. select 없음 가 나 다 3. checkbox a 방법 b 방법 c 방법 4. radio 남성 여성 유효성..
회원가입 만들기 2 정상적으로 등록이 완료 되었습니다. 여기서, 이제 회원가입에 대한 조건을 살피고 마무리 짓겠습니다. 2. 회원번호는 자동 생성이 된다. 해당 페이지가 출력 될 경우, 자동으로 생성 됨을 의미합니다. 따라서, 이에 따른 작성이 필요하게 되었습니다. 가장 먼저 DAO부터 만들도록 하겠습니다. DAO 만들기 똑같이 메소드를 생성 후 위와 같이 작성해줍니다. select문을 사용할 경우 ResultSet의 객체가 필요하게 됩니다. 그리고 결과값이 여러개일 경우 배열을 사용하게 되지만, 위의 경우 한 개의 결과값만을 출력하도록 제한을 걸어놨기 때문에 굳이 필요 없음을 알 수 있습니다. 이제 else if를 활용하여 새로운 경로를 추가하도록 합니다. 여기서 잠깐! 문제가 생겼습니다. 회원가입 완..
회원가입 만들기가입 만들기 회원가입을 만들겠습니다. 먼저 제일 처음에 만든 join.jsp를 준비하시면 됩니다. 여기서 등록버튼을 누르게 되었을 경우를 가정하게 됩니다. join.jsp 홈쇼핑 회원 등록 회원번호(자동발생) 회원성명 회원전화 회원주소 가입일자 고객등급 도시코드 submit을 누를경우 form의 action이 동작됩니다. 이때 경로를 joinAction.me로 지정을 하게됩니다. web.xml에 설정된 *.me를 통해 Controller에 정상적으로 접속을 확인할 수 있습니다. System.out.println을 이용하여 체크하기 등록버튼을 눌렀을 경우, System.out.println을 활용하여 정상적으로 실행여부를 체크 할 수 있게 됩니다. 이제 Console에 뜬 결과를 equals..
DAO 만들기 DAO 만들기는 비교적으로 쉽습니다. 먼저 이클립스에서 java와 oracle을 연결하기 위한 사전작업은 아래와 같습니다. 오라클 설치 위치\app\oracle\product\11.2.0\server\jdbc\lib 이 jar 파일을 WebContent안의 lib에 넣습니다. 앞에 설명한 servlet-api위치와 똑같습니다. 그러면 준비는 반은 끝났다고 보면 됩니다. 그 후엔 아래처럼만 만들어주면 됩니다. 문제에서 제공되는 Connection을 그대로 가져와서 MemberDAO라는 java 클래스를 만든 곳에 이어 붙입니다. 여기에 만든 java를 아래와 같이 이어 붙인다면 이렇게 됩니다. package MemberDB; import java.sql.Connection; import ja..
JAVA를 만들어보자. 이제부터 화면 전환 및 jsp와 오라클의 연결을 도울 수 있는 java를 만들어 줍니다. 위치는 설치된 톰켓 위치\Apache Software Foundation\Tomcat 9.0\lib 위의 servlet-api.jar를 WebContent안의 lib안에 넣습니다. project에서 sevlet을 사용하기 위해 필요한 요소입니다. 사진의 위치처럼 WEB-INF 안의 lib 폴더안에 servlet-api를 넣습니다. 이렇게 2개의 jar파일이 들어 있다면, web.xml을 설정을 해줍니다. web.xml JSP의 가장 기본이며, java의 시작지점이기도 합니다.web.xml에서 아래처럼 간단하게 설정을 해둡니다. (복사 하셔도 됩니다.) WEB.xml은 저장시 은근히 시간을 잡아..
JSP 화면 만들기 DB 만드는 것을 마쳤다면, 이클립스를 통해 JSP를 만들기 시작합니다. 제가 생각하는 기본틀은 JSP의 INCLUDE를 활용하는 방법으로. 이를 통해 작업시간을 좀 더 줄이는 것에 목표를 가졌습니다. 처음보는 사람은 손이 더 가는데? 라는 의견을 제시할 수 있지만. 시험 도중 갑자기 바꿔야하는 문제에 대해서 유지보수가 쉽다는 점에서. 또는 시험이라는 환경 속에 실수를 최소화 하기 위해 이 방법을 채택하게 되었습니다. JSP의 include를 활용하기 위해 총 5개의 jsp를 생성하게 되었습니다. 가장 기본틀인 template.jsp html의 Top 부분인 top.jsp html의 nav 부분인 nav.jsp html의 footer 부분인 footer.jsp 입니다. 그리고 각 메뉴..
1. DB 만들기 기본적인 설정을 하셨다면, 제일 먼저 마쳐야 할 구간 입니다. 문제에서 주어진 DB를 보고 TABLE 생성과 INSERT를 거쳐야 합니다. CREATE TABLE MEMBER_TBL_02( CUSTNO NUMBER(6) NOT NULL, CUSTNAME VARCHAR2(20), PHONE VARCHAR2(13), ADDRESS VARCHAR2(60), JOINDATE DATE, GRADE CHAR(1), CITY CHAR(2), PRIMARY KEY(CUSTNO) ); CREATE TABLE MONEY_TBL_02 ( CUSTNO NUMBER(6) NOT NULL, SALENOL NUMBER(8) NOT NULL, PCOST NUMBER(8), AMOUNT NUMBER(4), PRICE..
[목표] JSP를 배우고, MVC 패턴을 파악한 상태에서 MVC 패턴을 가지고 과정평가형을 만드려고 한다. 만드려고 하는 MVC의 구조도이다. 만들어졌을 때의 흐름도이다. 전체 목록 [정보처리산업기사 과정평가형] 시험보기 앞서 [정보처리산업기사 과정평가형] 0. 만드려는 모습 [정보처리산업 과정평가형 - 실기] DB 만들기 [정보처리산업 과정평가형 - 실기]JSP 화면 만들기 [정보처리산업 과정평가형 - 실기] Java 만들기 [정보처리산업기사 과정평가형 - 실기] DAO 만들기 [정보처리산업기사 과정평가형 - 실기] 회원가입 만들기 [정보처리산업기사 과정평가형 - 실기] 회원가입 만들기2 [정보처리산업기사 과정평가형 - 실기] 회원가입 만들기3 [정보처리산업기사 과정평가형 - 실기] 회원 목록 만들기 ..