🍁Todo List 1. 주제 Todo List 2. 업무 할일 쓰기 할일 보기(목록) 할일 수정하기 할일 삭제하기 3. DB Todo (script.sql) 4. 화면(+페이지) 할일 보기(목록) 페이지 (webapp > list.jsp) 할일 쓰기 페이지 (webapp > add.jsp, addok.jsp) 할일 수정 페이지 (webapp > editok.jsp) 할일 삭제 페이지 (webapp > delok.jsp) 템플릿 역할 (webapp > template.jsp) 5. 리소스 조각 페이지 (webapp > inc > header.jsp, asset.jsp) jQuery (webapp > js > jquery-1.12.js) 6. WEB-INF lib > ojdb6.jar 복사 구현 페이지 할..
🍁PreparedStatement Statement와 PreparedStatement 차이 Statement는 정적 SQL을 만들 때 사용하며, PreparedStatement는 동적 SQL를 만들 때 사용한다. 매개변수가 없으면 정적 쿼리, 매개변수가 있으면 동적 쿼리를 의미한다. 정적 쿼리와 동적 쿼리 정적 SQL String sql = "INSERT INTO tblAddress (seq, name, age, gender, address, regdate) VALUES (seqAddress.nextVal, 'Sopia', 21, 'f', '서울시 강남구 대치동', default)"; String sql = "INSERT INTO tblAddress (seq, name, age, gender, addre..
🍁JDBC 라이브러리 클래스 1. Connection DB에 연결 또는 종료한다. 2. Statement 모든 SQL을 실행하는 역할을 한다. 3. ResultSet 데이터베이스로부터 쿼리의 결과를 저장하고 조회한다. ResultSet 클래스는 Interator, 향상된 for문, 스트림, 커서와 비슷하다. Statement의 종류 1. Statement 기본형이다. 매개 변수 처리가 번거롭다. 안정성과 가독성이 낮다. 2. PreparedStatement 개량형이다. 매개 변수 처리에 특화되어 있다. 안정성과 가독성이 높다. 기존 Statement에 매개변수 처리 과정을 손쉽고 안전하게 할 수 있게 만든 게 PreparedStatement이다. 3. CallableStatement 개량형이다. 프로시저..
📌Requirements Q44: 새 날개짓 새 날개짓 새의 속도 : 느림 보통 빠름 엄청빠름 📌Requirements Q46: 이미지 뷰어 이미지 뷰어 📌Requirements Q47: 셀 클릭 📌Requirements Q49: 이동하는 이미지 📌Requirements Q50: CATCH CHROMI catch chromi Ready
🍁DB 접속 참조 변수 생성 및 import Connection conn = null; Connection으로 conn 참조 변수를 하나 만들고, java.sql 인터페이스로 import를 한다. 이제 연결 문자열(Connection String)을 만들어야 한다. 연결 문자열 (Connection String) DB 서버 접속 호스트명: 서버 IP or 도메인 주소 (localhost) 포트번호: 1521 SID: xe 드라이버: thin 사용자: hr 암호: java1234 String url = "jdbc:oracle:thin:@localhost:1521:xe"; String id = "hr"; String pw = "java1234"; 연결 문자열에는 DB 서버에 접속하는 모든 정보가 들어간다. ..
🍁JDBC JDBC는 자바 프로그램과 데이터베이스(오라클)를 연결시켜 주는 자바 API(응용 프로그래밍 인터페이스)이다. JDBC는 데이터베이스에서 자료를 쿼리를 만들거나 업데이트하는 방법을 제공한다. 퍼시스턴스 계층 JDBC Spring JDBC MyBatis JPA JDBC를 중간 계층이라고 하며, 정확하게는 퍼시스턴스persistence 계층(영구 계층)이라고 한다. 퍼시스턴트 계층은 JDBC에만 있는 게 아니라, Spring, MyBatis 등에도 있다. JDBC 환경 설정 *.jar 설치 데이터베이스 제조사에서 배포하므로, 오라클을 사용한다면 오라클 홈페이지를 찾아가면 된다. 이번에는 다른 방법으로 Oracle 폴더 경로에 있는 jar 파일을 가져와 보려고 한다. ojdbc6.jar 파일을 li..
🍁EL (Expression Language) EL과 JSTL을 사용하면 구문이 단순해지고, 가독성이 향상된다. 이들은 서로 다른 기술이지만, 섞어서 사용한다. 슬로건은 "JSP에서 되도록 자바를 쓰지 말자!"이다. EL 표현식의 사용 ${} Expression()과 EL 언어는 완전히 다른 것이지만, 이름이 같다는 점에서 목적이 같다는 것을 알 수 있다. EL 언어는 기능을 대신하기 위해서 만들어진 언어이다. EL 표현식 a: b: c: EL a: ${a} b: ${b} c: ${c} 기존에 사용하던 표현식을 EL을 사용하여 바꿀 수 있다. 그런데 어떤 건 출력이 되고 어떤 건 출력이 안 된다. 왜 그런 걸까? EL의 목적 EL은 내장 객체(pageContext, request, session, app..
🍁생명주기 내장 객체에 저장소를 제공하는데, pageContext, request, session, application 중에 어떤 것을 사용해야 하는지 의문이 생길 수 있다. 이때 내장 객체의 생명주기를 고려하면 된다. 내가 저장하고 사용할 데이터를 어느 기간 동안 사용할지에 대해 결정하고, 내장 객체가 어느 기간 동안 객체가 유지되는지에 대한 생명주기를 고려하여 일치하는 것을 찾는다. ex19_scope_1: 데이터 입력 페이지 ex19_scope_2: 데이터 수신 및 처리 페이지 각 방법으로 데이터를 전달하는 과정을 살펴보면서 내장 객체의 생명주기에 대해 알아보도록 하자. ex19_scope_1 실패 int a = 10; /* 자바로 페이지 이동 */ //response.sendRedirect("e..