attribute scope
- page
- request
- http요청을 was가 받아서 웹 브라우저에게 응답
할때까지 변수가 유지되는 경우 사용
- session
- application
- 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지
되는 경우 사용
MVC패턴
- M : Model
-> 사용자가 원하는 데이터나 정보를 제공
- V : View
-> 보여지는 화면
- C : Controller
-> 사용자가 요청을 처리하고, 그 요청에 따른
전체적인 흐름을 제어
- MVC1 패턴
- MVC1패턴의 경우 view와 Controller를 모두 JSP가
담당하는 형태를 가집니다. 즉 JSP하나로 유저의 요청을
받고 응답을 처리하므로 구현 난이도는 쉽다.
- 단순한 프로젝트에는 괜찮겠지만 내용이 복잡하고
거대해질수록 이 패턴은 힘을 잃습니다. 즉, 유지보수에
있어서 문제가 발생한다.
- MVC2 패턴
- MVC2패턴은 널리 표준으로 사용되는 패턴입니다. 요청을
하나의 컨트롤러(Servlet)가 먼저 받습니다. 즉, MVC1과는
다르게 Controller, View가 분리되어 있다.
- 따라서 역할이 분리되어 MVC1패턴에서의 단점을 보완할수
있다. 그러므로 개발자는 M,V,C 중에서 수정해야 할 부분이
있다면, 그것만 꺼내어 수정하면 된다.
- 유지보수에 있어서 큰 이점을 가집니다.
DTO(Data Transfer Object) vs VO(Value Object)
- 양쪽으로 전송되어 오고가는 데이터들을 담은 객체, jsp에서는
Bean이라고 부른다. 여러 데이터들을 포장해서 마든 데이터
포장 객체
- 사용자가 입력한 값을 객체 형태로 받을 수 있게 클래스 구성
- 폼에서 입력된 데이터들은 하나의 DTO객체로 변환 가능
- 하나의 데이터베이스 레코드를 저장하여 레코드와 같은 구조를
가짐
- 레코드가 50개면 DTO객체도 50개
- 한 개의 레코드는 빈즈 클래스 객체 하나로 매핑
- 데이터가 포함된 객체를 한 시스템에서 다른 시스템으로 전달하는 작업을
처리하는 객체
DAO(Data Access Object)
- 데이터에 접근, 데이터를 관리하기 위한 객체 데이터들을 관리(추가,수정,
삭제,읽기)하는 여러 메소드들이 정의되어 있다.
- insert,delete, update, select 등 레코드 처리를 주 목적으로 한다
- DTO객체를 데이터베이스 서버에 저장
- 데이터베이스 서버로부터 레코드를 select한 후, DTO객체로 변경해
가져옴
- SQL을 직접 실행하는 기능을 가짐
- JSP에서 데이터베이스 접근 로직을 Beans로 작성하여 DB정보 변경시
쉽게 변경사항을 구현할 수 있다
- 데이터 접근을 목적으로 하는 객체
DataBase
- user 생성 : create user jsp identified by jsp;
- 권한주기 : grant connect, resource to jsp;
ojdbc란?
- jdbc, Java DataBase Connectivity
- 자바에서 데이터베이스에 접속/관리할 수 있게 해주는 드라이버(API)
- 자바로 작성된 프로그램으로 DB와 관련된 작업을 처리할 수 있도록
제공되는 기능(코드)들을 모아놓은 것
- ojdbc : oracle에서 제공하는 오라클 DB를 관리할 수 있도록 도와주는
jdbc이다.
executeUpdate
- 수행결과로 int타입의 값을 반환
- select 구문을 제외한 다른 구문을 수행할 때 사용되는 함수
- insert/delete/update 관련 구문에서는 반영된 레코드의 건수를 반환
- 실패시 exception