본문 바로가기

분류 전체보기

(260)
220926 - 서블릿 -커넥션 풀, 서블릿 확장 API (포워드 / 바인딩) 회원가입 (커넥션 풀) MemberServlet package servletdb.ex04; import jakarta.servlet.http.HttpServlet; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @WebServlet("/member4") public class Member..
220923 - 서블릿 - DB 연결, 커넥션풀 서블릿 - DB 연결 1. servletdb 프로젝트 생성 프로젝트 우클릭 - build path - classpath 에 add external jars - servlet-api.jar 추가 2. sqldeveloper 테이블 생성 (member_list) id,pwd,name,email,joindate 3. 프로젝트 폴더에 오라클 드라이버 넣기 ojdbc8jar webapp/web-inf/lib에 붙여넣기 회원가입 (post 방식) MemberServlet.java package servletdb.ex01; import jakarta.servlet.http.HttpServlet; import java.io.IOException; import java.io.PrintWriter; import java...
220922 - 서버 - 서블릿 예제 환율 계산기 webapp/calc.html 환율 계산기 원화 : 달러 엔화 위안 파운드 유로 RateServlet.java package servlet01.ex02; import jakarta.servlet.http.HttpServlet; import java.io.IOException; import java.io.PrintWriter; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @WebServlet("/rate") pub..
220921 - 서버 - 서블릿 매핑, 응답 및 요청 처리 서블릿 매핑 : 서블릿의 URL주소(full path)를 보안성, 편리성 제고 위해 간결하게 표시 http://IP주소:포트번호/프로젝트이름/패키지이름포함된클래스이름 1. web.xml 설정 수정 => 여러 서블릿 사용 시 복잡해짐 FirstServlet.java package servlet01.ex01; import java.io.IOException; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; public class FirstS..
220920 - 서버 - 웹 애플리케이션 개발 환경 구축 더보기 참고: https://javacpro.tistory.com/43#:~:text=HTML%20%EC%BD%94%EB%93%9C%EC%97%90%20JAVA%20%EC%BD%94%EB%93%9C,%ED%95%98%EB%8A%94%20%EC%9B%B9%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%20%EB%8F%84%EA%B5%AC%EC%9D%B4%EB%8B%A4.&text=%EA%B7%B8%EB%A0%87%EA%B2%8C%20%EC%83%9D%EC%84%B1%EB%90%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC,%ED%95%A8%EA%BB%98%20%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED..
220919 - 오라클 - 무결성 등수 동점 처리 프로시저 alter table depy_copy add constraint depy_dno_pk primary key(dno); alter table emp_copy add constraint emp_dno_fk foreign key(dno) references depy_copy(dno); --e 테이블에서 d.dno - e.dno(외래키) 연결, d 테이블 참조 create or replace procedure sp_rank1 is old score%rowtype; temp score.rank%type; cursor cur is select * from score order by tot desc; begin temp := 1; for rec in cur loop exit when cur..
220916 - PL/SQL - 트리거 리턴값 있는(매개변수 밖으로 보내는) 프로시저 참고 https://rsorry.tistory.com/157 프로시저 문제 - 부서번호 매개변수 / 부서 근무 사원 정보 저장 (사원 번호 사원명 급여 입사일) create or replace PROCEDURE emp_save (v_dno in employee.dno%type) IS cursor cur is select * from employee where dno=v_dno; BEGIN dbms_output.put_line('사원번호 사원명 급여 입사일'); for rec in cur loop exit when cur%notfound; dbms_output.put_line(rec.eno||' '||rec.ename||' '||rec.salary||' '||..
220915 - PL/SQL - 커서, 함수, 프로시저 커서 declare v_dept department%rowtype; cursor cl is select * from department; -- begin dbms_output.put_line('부서번호 부서명 지역명'); dbms_output.put_line('-------------------------'); open cl; -- loop fetch cl into v_dept.dno, v_dept.dname, v_dept.loc; -- exit when cl%notfound; -- dbms_output.put_line(v_dept.dno|| v_dept.dname|| v_dept.loc); end loop; close cl; -- end; / => 부서번호 부서명 지역명 -----------------..
220914 - PL/SQL - 제어문, 커서 DB 프로그래밍 => 복잡한 비즈니스 로직 만드는 PL/SQL (절차형) 문법 DECLARE => 선언부(변수, 상수 선언) BEGIN => 실행부(제어문, 반복문, 함수 정의) EXCEPTION => 예외처리부(로직 처리 오류 발생) 1. 한 문장이 끝날 때마다 세미콜론(;) 작성 2. 한줄 주석 : --A, 여러줄 주석: /*A*/ 3. 쿼리문 수행 위해서는 / 입력 필수며, PL/SQL 블록은 / 있으면 종결된 것으로 간주 변수명 타입 := 표현식; 상수명 CONSTANT 타입 := 상수값; 연산자 ** : 제곱 || : 연결연산자 = : 같다 : 같지 않다 데이터 타입 스칼라 : 숫자, 문자, 날짜, BOOLEAN 레퍼런스 : 데이터베이스 기존의 칼럼에 맞추어 %TYPE Attribute를 이용 ..
220913 - 오라클 - 시퀀스, 인덱스, 권한, 동의어, PL/SQL 시퀀스 : 자동 순차 증가하는 순번을 반환하는 데이터베이스 객체 (1,2,3,..) 보통 PK값에 중복값을 방지하기위해 사용 시퀀스 생성 CREATE SEQUENCE [시퀀스명] INCREMENT BY [증감숫자] //디폴트 1 START WITH [시작숫자] //디폴트 1 NOMINVALUE OR MINVALUE [최솟값] //NOMINVALUE : 디폴트 1, 최솟값 무한 //MINVALUE : 최솟값 설정 NOMAXVALUE OR MAXVALUE [최댓값] //NOMAXVALUE : 디폴트값 1027, 최댓값 무한 //MAXVALUE : 최댓값 CYCLE OR NOCYCLE //CYCLE : 최댓값에 도달하면 최솟값부터 다시 시작 //NOCYCLE : 최댓값 생성 시 시퀀스 생성중지 CACHE OR..