웹 서버(5), DB연결

9mond·2023년 8월 22일
0
post-thumbnail

1. attribute scope

1-1. page

  • 페이지 내에서 지역변수처럼 사용.

1-2. request

  • http 요청을 was가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사용

1-3. session

  • 웹 브라우저 별로 변수가 관리되는 경우 사용

1-4. application

  • 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용

2. MVC 패턴

  • 중요. 기술면접

  • M : Model
    -> 사용자가 원하는 "데이터"나 정보를 제공

  • V : View
    -> 보여지는 화면

  • C : Controller
    -> 사용자가 요청을 처리하고, 그 요청에 따른 전체적인 흐름을 제어

2-1. MVC1 패턴

  • MVC1 패턴의 경우 view와 Controller를 모두 JSP가 담당하는 형태를 가진다.
  • 즉 JSP 하나로 유저의 요청을 받고 응답을 처리하므로 구현 난이도는 쉽다.
  • 단순한 프로젝트에는 괜찮겠지만 내용이 복잡하고 거대해질수록 이 패턴은 힘을 잃는다.
  • 유지보수에 있어서 문제가 발생한다.

2-2. MVC2 패턴

  • MVC2 패턴은 널리 표준으로 사용되는 패턴이다.
  • 요청을 하나의 컨트롤러(Servlet)가 먼저 받는다.
  • MVC1과는 다르게 Controller와 View가 분리되어 있다.
  • 따라서 역할이 분리되어 MVC1 패턴에서의 단점을 보완할 수 있다.
  • 개발자는 M, V, C 중에서 수정해야할 부분이 있다면 그것만 꺼내어 수정하면 된다.
  • 유지보수가 수월하다.

3. DTO(Data Transfer Object) vs VO(Value Object)

  • 양 쪽으로 전송되어 오고가는 데이터들을 담은 객체
  • JSP에서는 Bean이라고 부른다.
  • 여러 데이터들을 포장해서 만든 데이터 포장 객체
  • 사용자가 입력한 값을 객체 형태로 받을 수 있게 클래스 구성
  • 폼에서 입력된 데이터들은 하나의 DTO 객체로 변환 가능
  • 하나의 데이터베이스 레코드를 저장하여 레코드와 같은 구조를 가진다.
  • 레코드가 50개면 DTO 객체도 50개
  • 한 개의 레코드는 빈즈 클래스 객체 하나로 매핑
  • 데이터가 포함된 객체를 한 시스템에서 다른 시스템으로 전달하는 작업을 처리하는 객체

4. DAO(Data Access Object)

  • 데이터에 접근하고 데이터를 관리하기 위한 객체 데이터들을 관리(추가, 수정, 삭제, 읽기)하는 여러 메서드들이 정의되어 있다.
  • insert, delete, update, select 등 레코드 처리를 주 목적으로 한다.
  • DTO 객체를 데이터베이스 서버에 저장
  • 데이터베이스 서버로부터 레코드를 select한 후, DTO 객체로 변경해 가져온다.
  • SQL을 직접 실행하는 기능을 가진다.
  • JSP에서 데이터베이스 접근 로직을 Beans로 작성하여 DB정보 변경 시 쉽게 변경사항을 구현할 수 있다.
  • 데이터 접근을 목적으로 하는 객체

5. DataBase와 연결

< jsp라는 user 생성 >

  • user 생성 : create user jsp identified by jsp;

  • 권한 부여 : grant connect, resource to jsp;

  • jsp 계정의 비밀번호 변경 : ALTER USER jsp identified by jsp;
    (비밀번호 오류 났을 때 사용)

    • ojdbc.jar를 jsp의 lib폴더에 추가
    • oracle.jdbc.driver.OracleDriver -> 고정값

6. ojdbc란?

  • jdbc, Java DataBase Connectivity
  • 자바에서 데이터베이스에 접속/관리할 수 있게 해주는 드라이버(API)
  • 자바로 작성된 프로그램으로 DB와 관련된 작업을 처리할 수 있도록 제공되는 기능(코드)들을 모아놓은 것.
  • ojdbc : oracle에서 제공하는 오라클 DB를 관리할 수 있도록 도와주는 jdbc이다.
profile
개발자

0개의 댓글