Model1방식의 ID 검색하기
- DAO는 DB관련 업무처리를 하는 놈들이다.
<Test_select.jsp>
<Test_result.jsp>
<TestDAO>
Model1방식의 ID 검색하기
- DAO는 DB관련 업무처리를 하는 놈들이다.
<Test_select.jsp>
<Test_result.jsp>
<TestDAO>
Model2 방식의 계산기 만들기
<calc_form.jsp>
<CalculatorServlet>
<CalculatorService>
<error.jsp>
<calc_result.jsp>
Model1
- JSP 파일내에서 뷰와 컨트롤러 모두 실행되어 지는 구조
○ 장점
- 개발 기간 단축(단순한 페이지 흐름)
- 팀원의 수준이 높이 않아도 된다. 즉 초보자도 쉽게 배울 수 있다.
- 중소형 프로젝트에 적합
○ 단점
- 웹 어플리케이션이 복잡해질수록 유지보수가 어렵다.
- 디자이너와 개발자간의 의사소통이 필요하다.(비니니스 로직과 뷰 사이의 구분이 미비하다.)
Model2
- Controller(servlet)을 통해 비지니스 로직과 뷰가 분리된 형태
- JSP에서는 뷰를 담당하고, 자바 클래스에서 비지니스 로직을 담당한다.
○ 장점
- 비지니스 로직과 뷰의 분리로 유지보수와 확장이 용이하다.
- 개발자와 디자이너의 작업이 분리되어 분업이 편리하다.
○ 단점
- 구조 설계를 위한 시간이 많이 소요되므로 개발 기간이 증가한다.
- 개발자들이 구조에 대한 이해가 필요하기 때문에 팀원의 높은 수준이 요구된다.
원문 : http://kiringun.egloos.com/660489
Connection Pool
Connection Pool의 필요성
- DBMS로의 연결이 오래걸린다.
- DB 작업을 할 때마다 Connection ~ Close 까지의 반복 작업이 비효율적
- Connection Pool에 Connection 객체를 생성해 놓고 DB 작업시 Pool에서 빌려 사용후 다시 반납
Connection Pool의 개념
- Connection을 관리하는 객체 Pool
- Connection들을 미리 생성하여 Pool에 저장한 뒤 필요시 빌려쓰는 개념
- 사용 후에는 다시 Connection Pool에 반납
Connection Pool의 사용
- 직접 제작하여 사용 / 제공되는 API를 이용
- 대표적인 API : org.apache.tomcat.dbcp.dbcp.BasicDataSource
DataSource
- Connection Pool을 구현하기 위한 스펙을 정해놓은 Interface
- Connection Factory (Connection 객체를 생성해 주는 역할)
- javax.sql.DataSource를 import 해서 사용
DataSource의 장점
- Connection Pool 지원
- 객체가 DB 연결에 필요한 정보를 알고 있어 DB연결시 URL, ID, Password를 입력해야 하는 번거로움 해소