목록Web (7)
dearbeany

Servlet에서 forward 할 때 쓰는 '/' -> 컨텍스트 루트까지 이미 적혀있음 request.getRequestDispatcher("/board/list.jsp"); - 포워드 시에 쓰는 '/'는 Context root 까지 적혀있다. (C.R이 Back07_JDBC_Web) - 슬래쉬 이후부터는 WebContent를 기준으로 경로를 찾는다 - 즉, WebContent 하위폴더인 board 내에 list.jsp 로 포워딩한다 form action에서 쓰는 '/' -> 컨텍스트루트 빼고 localhost:8080까지만 적혀있다 만약 컨텍스트루트를 '/' (슬래쉬)까지만 지정한다면? (즉, 프로젝트명을 사용하지 않고) Java Resources : 서블릿과 관련된 파일 WebContent : JS..

3. DBUtil 클래스 생성 → DBUtil을 그 때마다 new 로 생성하지 말고, 한 번 생성해놓고 계속 쓰도록 하자. 싱글턴을 사용해서! private static DBUtil instance = new DBUtil(); private DBUtil() { } public static DBUtil getInstace() { return instance; } - DBUtil을 사용할 준비가 되었으니, JDBCTest.java의 역할을 DBUtil로 빼서 작성해보도록 하자. public class DBUtil { // MySql 드라이버 클래스 이름 private final String driverName = "com.mysql.cj.jdbc.Driver"; // DB와 연결하기 위해 필요한 URL pr..

JDBC란? JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. 출처: 위키백과 Java --- Server 연결? Server로 MySQL 쓰다가 Oracle 쓰려고 할 때? 즉, 서버를 새로 연결할 때 마다 .java 파일(MysqlToJava.. OracleToJava..)을 만들어야 할까? → No, 이는 너무 번거롭다. 자바 프로젝트와 데이터베이스 간의 연결하는 공통 설명서가 있으면 편리하다! → API 데이터베이스를 제공하는 업체(MySQL, Oracle..)들이 API에 맞추어 파일을 만들어온다! → .jar 결국, 자바프로젝트는 .jar파일을 ..

집계함수의 결과를 group by 없이 출력 - 평균(=집계함수)의 값을 내야하는데, 국가별로 대륙(continent)별로 두 개의 평균값을 출력해야 한다. - '전세계 평균' => 국가별, 따로 그룹화할 기준 없음. (전체 gnp합) / (국가개수) - '대륙 평균' => 대륙별, group by continent 해야 함. (대륙 별 gnp의 합) / (대륙의 개수) - GROUP BY절을 사용할 경우 데이터가 변형된다! 따라서 사용X - OVER 의 사용: GROUP BY 절을 사용하지 않고, 조회된 각 행에 그룹으로 집계된 값을 표시할 때 OVER 절과 함께 PARTITION BY 절을 사용하면 된다. - 분석함수를 사용할 때는 OVER 절을 함께 사용해야 하며, OVER 절 내부에 PATITIO..
https://getbootstrap.com/ Bootstrap The most popular HTML, CSS, and JS library in the world. getbootstrap.com 자바스크립트적인 요소도 부트스트랩으로 처리할 수 있음. 따라서, CSS와 JS를 처리하는 코드 2개가 필요하다. grid와 min의 차이? - 기능은 다 들어있으나, 공백과 엔터를 모조리 없애버리고 한 줄로 짜논 것이 min.css (즉, 전부 다 압축시켜놈) - bootstrap.css 는 모두를 포함하고 있으므로, 최적화를 위한 게 아니라면 이 파일 하나만 있어도 됨. - RTL : Right To Left - 실습에서는 파일을 다운로드 해서 쓰기 보다는 CDN 코드를 CSS와 JS에 첨부하여 사용하도록 한..
태그 자체로 가져올 경우 등록 후 초기화 가능 (반면, value 자체로 가져오면 초기화 불가함) 아무 것도 입력하지 않고 등록을 누를 경우 alert창을 뜨게 한다. -> .trim() 양 사이드 공백을 제거하는 메소드. 비어있으면 false문. 동적으로 추가한 것들은 새로고침 하면 데이터가 날라간다 => 새로고침 = 해당 url로 다시 정보를 요청하는 동작. toggle -> 하나의 클래스에 대해서만 가능하다. TodoList 등록 나의 할 일 목록 HTML 삽입 미리보기할 수 없는 소스 로컬스토리지 사용해서 데이터 저장하기 - key-value 형태로 저장. 둘 다 문자열 형태 - 값(value)의 경우 JSON.stringify() 를 사용 registTodo : 데이터를 등록하는 용도 creat..
Youtube API 서버로부터 데이터를 받는다. 해당 서버의 주소는 아래와 같다. -> 해당 API를 쓰기위한 필수/옵션 사항을 안내한다. https://developers.google.com/youtube/v3/docs/search/list Search: list | YouTube Data API | Google Developers Search: list API 요청에 지정된 쿼리 매개변수와 일치하는 검색결과의 모음을 반환합니다. 기본적으로 검색결과의 집합은 쿼리 매개변수와 일치하는 video, channel, playlist 리소스를 식별하지만, 특정 developers.google.com params - axios에 API_KEY를 params의 key-value으로 전달해주지 않는다면, 403 ..