분류 전체보기 183
-
View란?DB에 존재하는 가상의 테이블을 의미한다.일반 테이블처럼 DROP VIEW 이전까지는 DB에 저장이 되지만, 데이터가 따로 저장되지는 않는다. View를 사용하는 이유는많은 JOIN이나 서브쿼리가 사용되어서 복잡해지는 쿼리를 간결하게 만들어 줄 수 있고,반복해서 사용되는 쿼리를 재사용할 수 있다. ▼ 아래는 최초 작성한 상품 전체 출력 기능에 대한 SQL문이다.SELECT P.PRODUCT_NUM, P.PRODUCT_NAME, P.PRODUCT_PRICE,P.PRODUCT_ADDRESS, P.PRODUCT_LOCATION, P.PRODUCT_CATEGORY,COALESCE(RV.RATING,0) AS RATING,COALESCE(RS.RESERVATION_COUNT,0) AS RESERVA..
-
MySQL 다운로드 방법 1) MySQL 다운로드 페이지로 이동 2) MySQL Community Server 선택 3) Version : 8.0.39 선택 후 Go to Download Page 선택 4) 아래에 있는 Download 선 5) No Thanks, just start my download. 선택하여 파일 다운로드 6) 2번째 사진에서는 Execute, 다 되면 Next 버튼이 뜸. Next 버튼 쭉 클릭 7) 비밀번호 입력 후 또 쭉 Next > 클릭 8) 또 Execute -> 후 Finish CLC로 DB 생성하기1) MySQL Command Line Client 실행 후 패스워드 입력 2) CREATE DATABASE 유저명 DEFAULT CHARACTER SET UT..
-
Spring 설치 방식에는 2가지 방법이 있다. 1. 플러그인 설치 방식 : 현재 아무도 사용하지 않음2. 어플 설치 방식 : 대부분 이렇게 씀 우선 구조를 이해할 줄 알아야 하는데어플 설치 방식은 Boot를 쓰겠다는 의미이고, Boot는 꽁꽁 싸매놓은 것이기 때문에 구조를 알기 어렵다. 플러그인 설치 방식은 Spring Framework 구조이며,구조를 알기 위해 우리는 플러그인 설치 방식으로 먼저 진행한다! 이클립스 Sptring 설치 (플러그인 설치) 1) 이클립스 상단 메뉴의 Help → Eclipse Marketplace... 선택 2) 검색창에 Spring를 검색하고, 아래 Spring Tools 4를 Install 3) 만약 중간에 아래와 같은 화면이 나온다면 select All 선택 후..
-
CHECK 제약조건 CHECK 제약조건은 해당 열에 들어갈 수 있는 데이터를 제한할 수 있는 제약조건이다. CREATE TABLE RESERVATION( -- 예약 RESERVATION_NUM INT PRIMARY KEY, -- 예약 번호 PK RESERVATION_PAYMENT_NUM INT NOT NULL, -- 결제 번호 FK RESERVATION_REGISTRATION_DATE DATE NOT NULL, -- 예약 날짜 RESERVATION_STATUS VARCHAR(20) DEFAULT '예약완료' NOT NULL CHECK(RESERVATION_STATUS IN('예약완료','예약취소')) --예약 상태); 위의 컬럼 중 RESERVATION_STATUS는 예약 상태를 나타내는 ..
-
NOT NULL 제약조건NOT NULL 제약조건은 해당 열에 NULL을 허용하지 않는다는 제약조건이다. CREATE TABLE MEMBER( -- 회원 MEMBER_ID VARCHAR(255) PRIMARY KEY, --PK MID MEMBER_PASSWORD VARCHAR(20) NOT NULL, -- 비밀번호 MEMBER_NAME VARCHAR(20) NOT NULL, -- 이름 MEMBER_PHONE VARCHAR(20) -- 전화 번호); 위와 같이 MEMBER 테이블을 생성할 때NOT NULL을 해당 컬럼에 적으면 제약조건을 걸어 테이블을 생성할 수 있다. NOT NULL 제약조건은 NULL을 허용하지 않기 때문에, 데이터를 INSERT 할 때 NULL인 데이터가 삽입된다면오류가 ..
-
원인 및 내용상품 전체 목록 출력하는 쿼리들이 같은 내용이 여러 번 반복되고 + 페이지네이션 기능을 추가하려다 보니 쿼리가 너무 길어져 가독성이 떨어져 가상 테이블인 VIEW를 생성하는 과정에서 발생된 오류이다. ORA-01031은 데이터베이스의 접근 권한이 부족할 때 발생되는 오류이다.주된 원인은 데이터베이스 객체에 대한 접근 권한이 없거나, 관리 작업에 필요한 시스템 권한이 없는 경우 등이 있다. 뷰를 생성하려면 권한이 필요하다고 하니, 내 경우는 시스템 권한이 없는 것으로 보여진다. 해결 방안SELECT * FROM USER_SYS_PRIVS WHERE PRIVILEGE = 'CREATE VIEW';1. 위 쿼리를 사용하여 먼저 뷰 생성 권한이 있는지 확인한다. == 아무것도 조회되지 않는다. 2...
-
필터- 서블릿을 상속받은 클래스 중 하나이며, 대표적인 특수 형태 서블릿이다.- 서블릿을 상속받은 클래스 : 리스너, 필터 자바의 일반 클래스 : POJO대표적인 NOT POJO == 서블릿 (import가 처음부터 달려있어서 무겁다)1) 리스너 : 모니터링, 특정 상황을 감시 >> 서버가 동작을 했니? 그럼 수행할게~2) 필터 : 모든 특정 요청에 대해 항상 수행되는 서블릿을 의미한다. >> 보안 / 인가, 허가, 인증, 권한확인 / 인코딩 - 필터 파일 생성마우스 우클릭 → New → Filter ▼ 필터 파일 새로 생성 시 나오는 화면리스너와 비슷한 형태의 파일을 볼 수 있다. 필터는 총 4개의 메서드가 있는데,1) 기본 생성자2) 사라질때 3) 항상 수행되는 메서드4) 시작될때 3) ..
-
모달창, 스위트 알랏, alert() >> 이런 것들을 통하여 웹에서 안내창을 볼 때가 있다. 안내창- 로그인 실패시의 기능으로 살펴보자! 기존 방식LoginAction.java에서 if / else if를 통해 로그인 성공 / 실패 코드를 구분해서 작성한다.실패 시에는 로그인 실패라는 알랏창을 띄워주는데, out 객체를 사용한다.out 객체는 JSP 내장객체이기 때문에 java 파일에서는 불러와서 사용해야 한다.PrintWriter out = response.getWriter().println(""); 하지만 실제로 웹 페이지를 동작시켜보면 정상적으로 동작하지 않는 것을 확인할 수 있다. 동작하지 못하는 이유는?script는 해당 페이지에 머물러 있을 때에만 실행이 된다.그런데 현재 : 로그인 실패시..
-
리스너리스너란?1. 특수한 형태의 서블릿 클래스를 의미한다.- extends 서블릿 == 서블릿의 하위(자식) 클래스를 의미한다.2. 서블릿 == NOT POJO- 기능이 있어서 무거운 JAVA 클래스3. 특수한 기능을 수행하는 not POJO 클래스이다. -> 주로 초기 샘플 데이터 웹 크롤링 활용하여 세팅할 때 사용한다. 리스너 파일 생성1) 만들려는 패키지 우클릭 → New → Listener 2) 사용할 파일 이름 입력하고 Next> 클릭 3) 그럼 리스너를 어떻게 동작시킬지 결정하는 체크박스들이 나온다.① 웹이 작동하나? 를 보는 리스너 : 웹 서버 시작됐니? 변화가 시작됐니? 를 물어봄② HTTP session이 동작하니? 리스너③ request와 관련된 리스너우리는 서버가 구동되면~ 이..
-
-
중간 프로젝트에 들어가기 전, 중간의 중간 프로젝트라고 하여 중중프(...)에 들어가게 되었다! 더보기🌟 중중프 요청사항MVC 파트별로 팀 프로젝트를 진행해주세요. 중간 프로젝트를 위한 기초 (새로운 아이템 xxx)팀 당 기능 4개씩 구현 & 설명발표는 각자 본인이 구현한 부분 설명 강제 x템플릿 웹 템플릿으로 VMemberDTO, BoardDTO, ReplyDTO 테이블 3개MEMBER 회원가입 C 신규회원이름목록출력 R_selectAll 로그인 R_selectOne 로그아웃 (controller 제어) 프로필 이미지 변경 U 이름변경 U 회원탈퇴 D 회원은 프로필 이미지를 가지고 있습니다.BOARD 글 작성 C 글 목록 출력 R_selectAll 글 선택 R_selectOne 글 제목 변경 U 글 ..
-
업로드란?클라이언트(사용자, 브라우저)가 서버(DB)로 뭔가를 올리는(저장하는) 행위로컬(폰, PC)에 있는 데이터를 --> 서버(톰캣, 프로젝트) [업로드를 위한 준비물]1. 이미지 파일(데이터): 실습 때 사용하는 resource는 로컬 공간2. .jar(라이브러리, 소스파일) : cos : 이미지 업로드를 구현할 때 필요한 클래스/메서드를 제공3. Properties의 Workspace 설정 필요 (이게 되어있어야 이미지 파일 업로드가 됨) [라이브러리 적용 방법들]1. Properties의 Java Build Path(JBP)에 추가 2. 톰캣이 이걸 인지해야 할 때가 있음. 이때는 WEB-INF 하위의 lib에 추가 3. 서버를 등록할 때 썼던 폴더 위치에 직접 추가하는 방법톰캣 폴더 안의 li..