전체 글 157

2022-11-16 MVC, 요청 재지정

요청재지정 - 클라이언트가 최초 요청한 서블릿을 응답하지 않고 다른 서블릿 내부에서 다른 웹 어플리케이션(서블릿, jsp, html...)을 재요청해서 실행하는 것 - 서블릿에서 뷰를 분리하기 위해서 반드시 알아야 하는 개념 1. 데이터공유 : page, request, session, application객체 내부에 있는 map구조의 저장소(모델)에 데이터를 공유 ---------------- name과 value를 같이 저장(공유) -page (this - 현재 jsp페이지) - jakarta.servlet.jsp.PageContext -request(요청객체 - 한 번의 request가 응답되기 전까지 실행되는 모든 application) - HttpServletRequest(ServletReque..

MVC 2022.11.16

2022-11-15 서블릿 메소드 분리하기(delete), jsp문법

메소드 분리하기 ③ 사원 정보 삭제하기(delete) package kr.multicampus.erp.user; @WebServlet(name = "empdelete",urlPatterns = {"/emp/delete.do"}) public class EmpDeleteServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); res.setContentType("text/html;charset=UTF-8"); PrintWriter pw = r..

MVC 2022.11.15

2022-11-14 서블릿 메소드 분리하기, DB와 연결하기

서블릿 생성 - 톰캣4.0v : 클래스 상단부분에 자동생성됨 @WebServlet(name = "서블릿이름",urlPatterns = {"/서블릿path"}) @WebServlet(name = "emplist",urlPatterns = {"/emp/list.do"}) - 톰캣5.0v web.xml파일 생성되고 여기에 자동추가됨 basic basic basic.basic basic /basic.do 메소드 분리하기 package basic; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet..

MVC 2022.11.14

2022-11-11 JDBC 이론 정리

JDBC(Java Database Connectivity) => java를 DBMS와 연동하기 위한 기술(java프로그램에서 SQL문을 실행하기 위해서 제공되는 API) 💡 오라클에 접속하여 JDBC를 사용하기 전에 해야할 일 1. 오라클 드라이버 다운받기 - 모든 DBMS의 제조사 홈페이지에서 다운로드 - 오라클이 설치되어 있는 경우(xe) C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar을 사용 ** ojdbc6.jar : 오라클 드라이버 2. JVM(자바를 실행하기 위한 가상 기계(컴퓨터))이 인식할 수 있는 위치로 오라클 드라이버를 복사 => 코드를 실행하기 위해 JVM이 찾을 수 있는 위치에. 1) 작업프로젝트 선택 2) 프로젝트..

Spring 2022.11.12

2022-11-12 JDBC 정리, 복습하기

1. 드라이버 로딩 java.lang패키지의 Class라는 클래스의 forName이라는 메소드를 이용해서 오라클 드라이버의 핵심클래스를 메모리에 로딩 Class.forName("oracle.jdbc.driver.OracleDriver"); 2. DB서버에 연결하기 => java.sql패키지의 API를 이용 DriverManeger의 getConnection메소드를 이용해서 DB서버에 연결 1) static메소드이므로 클래스 이름으로 엑세스 static { Class.forName("oracle.jdbc.driver.OracleDriver"); } 2) throws하고 있는 SQLException은 Exception클래스의 하위 클래스이르모 문법적으로 Exception처리를 해야 한다. static { /..

Oracle 2022.11.12

2022-11-11 Servlet 등록, 요청

실행방법에 따른 자바 클래스의 구분 - Application(main메소드) - Applet - Servlet Servlet - 클라이언트의 요청을 처리하기 위한 기술 - 서버에서 클라이언트의 요청을 처리하고 응답할 수 있도록 만들어진 객체 - 클라이언트가 요청을 하면 서버에서 실행되면서 DB에 대한 처리, 서버의 리소를 이용해서 만들어진 결과를 클라이언트에 응답 - 클라이언트가 요청하면 서버가 자동으로 요청한 서블릿을 찾아서 실행하므로 서버가 인식하는 위치에 있어야 한다. ** 서버가 인식하는 위치 : 서블릿 디렉토리(표준화된 폴더 구조의 classes폴더) - 서버를 구성하는 많은 클래스내부에서 우리가 만든 서블릿 객체가 실행되도록 하기 위해서는 서버가 인식할 수 있는 규칙에 맞게 클래스를 작성해야 ..

Spring 2022.11.12

2022-11-09~10 JDBC 2. select - 전체 사원 조회하기

2. 전체 사원 조회하기 package jdbc.exam; import java.util.Scanner; public class DAOTest { public static void main(String[] args) { Scanner key = new Scanner(System.in); System.out.println("******인사관리시스템********"); System.out.println("1. 사원등록"); System.out.println("2. 전체사원조회"); System.out.println("3. job별로 사원조회하기"); System.out.println("4. SMITH부서의 전 사원의 급여를 500올려주기"); System.out.println("5. comm이 0인 직원 삭..

Spring 2022.11.11

2022-11-09~10 JDBC 1. insert - 사원등록하기 / 드라이버 로딩, DB서버 연결, 자원반납

jdbc패키지 - DBUtil ,CustomerDAO2, CustomerDTO2, DAOTest, MenuUI .java파일 1. 각각의 클래스로 기능을 나눠서 CustomerDAO에 모으기 2. CustomerDAO에서 중복되는 코드를 분리하여 DBUtil에 모으기 3. 각 계층으로 데이터 전달할 때 DTO객체로 만들어서 주고받기 - 객체생성을 위해 CustomerDTO클래스와 생성자, getter, setter메소드 만들기 * 커넥션설정과 자원반납 등 모든 메소드가 공통으로 처리하는 부분을 구현 * DB연동과 관련된 기능을 유틸리티처럼 제공하는 클래스 1. 드라이버 로딩 2. DB서버 연결 3. 자원반납 => 유틸리티처럼 사용할 것이므로 static으로 구현 package jdbc; import ja..

Spring 2022.11.11

2022-11-08 1-1 시퀀스(Sequence), JDBC

Sequence - 시퀀스 만들기 create sequence myseq; * nextval : 1씩 증가 select myseq.nextval from dual; NEXTVAL -------- 1 NEXTVAL -------- 2 * currval : 값 증가하지 않고 값을 불러옴 select myseq.currval from dual; CURRVAL -------- 4 CURRVAL -------- 4 - 시퀀스 삭제하기 drop sequence myseq; - 데이터 추가하기 insert into order_info values('20221107' || order_seq.nextval, sysdate, 'lee'); //이런식으로도 가능 - 외부pc로 오라클 접속하기 - 명령 프롬프트 오라클 sco..

Oracle 2022.11.08

2022-11-08 1-2 시퀀스, JDBC

자바로 JDBC연동 - API로 작업 ** 패키지 import 주의! 1. 오라클 드라이버 로딩 클래스로더를 이용해서 드라이버의 핵심 클래스를 메모리에 로딩 java.lang패키지의 Class라는 클래스의 forName이라는 메소드를 이용해서 오라클 드라이버릐 핵심클래스를 메모리에 로딩 핵심클래스는 드라이버클래스라고 하며 드라이버클래스는 어떤 DBMS를 이용하냐에 따라서 달라진다. [문법] class.forName("메모리에 로딩하고 싶은 클래스명(패키지까지 명시)") [오라클] Class.forName("oracle.jdbc.driver.OracleDriver") //oracle.jdbc.driver패키지의 OracleDriver.class 파일 -------------------------------..

Oracle 2022.11.08