3초 룰 > 사용자가 제공받는 최대 시간.
개발자의 퍼포먼스 : 처리시간.
데이터베이스 연동과 처리 응답 결과를 만들어야 함.
DBCP : DataBase Connection Pool (비디오가게)
커넥션들을 미리 만들어놓고 사용자가 요구할때마다 만들어진 걸 빌려주고 반납하면 다시 받고 -- 주고받고 반복
ㄴ 연결하고 자원반납 안할 수 있음.
ㄴ 싱글턴방식
객체를 할당받는 방법 (면접 팁)
1. 프로토 타입 방식 : 내가 필요할 때마다 객체를 만들어서 할당받는 방식. (new)
2. 싱글턴 : 객체가 이미 만들어져 있고 만들어있는 것을 제공받는 형식.(재활용하는 방식)
ㄴ Calendar가 싱글턴 방식의 대표.
톰캣에도 이런 DBCP기능이 탑재되어 있다.
DBCP: 웹 표준기술이지만 선택기술이다. 기술을 쓰기 위해서는 라이브러리가 필요.
라이브러리 : 아팟치에서 제공해 주는 기본기술로 제공해주는
웹표준기술의 표준기술로 사용할 수 있는 것.(커몬스라는 접두어가 들어간다)
ㄴ 1. 드라이버 2.commons-DBCP 3.commons-collections 4.commons-pool
방법
1. https://tomcat.apache.org/ > Archives
> 디렉터리 (폴더명이라고 생각하기) ( 라이브러리폴더) > commons/ (웹표준기술)>
dbcp/ > binaries/ > 버전은 회사에 따라 다름
collections > binaries/ >
pool > binaries/

이클립스 lib 폴더에 복사 ( 내 컴퓨터에서 복사 말고 Package Explorer 경로에 복사할 것 )

내가 검색을 하기 전 그 기능을 구현했던 벤더업체의 매뉴얼을 보기.
[dbcp]
1. sever.xml 수정
<Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:xe" username="scott" password="1234" maxTotal="20" maxIdle="10" maxWaitMillis="-1"/>


2.web.xml 수정
<resource-ref> <description> Oracle Datasource example </description> <res-ref-name> jdbc/myoracle </res-ref-name> <res-type> javax.sql.DataSource </res-type> <res-auth> Container </res-auth> </resource-ref>

3. 안될 경우를 대비하여 Context.xml
<ResourceLink global ="jdbc/myoracle" name="jdbc/myoracle" type ="javax.sql.DataSource"/>

--------
db연동 지우기. dbcp 이용 예정
Context는 정보 객체
4.
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/myoracle");
conn = ds.getConnection(); //etc.

import javax.sql.*;
import javax.naming.*;

ㄴ 젤 표준적인 방법. 다양한 방법이 있다.
매번 4줄 쓰기 힘드니 클래스를 만들어서 호출해서 사용할 수 있도록 한다.


'개발자 > 백엔드 웹 개발자 과정(국비)' 카테고리의 다른 글
| [JSP]세션,스코프 (0) | 2023.01.13 |
|---|---|
| [JSP] 쿠키(cookie) (0) | 2023.01.12 |
| [JSP]회원 가입, 아이디 중복 체크 실습 (0) | 2023.01.11 |
| [JSP]자바빈,Javabean,DTO,DAO (0) | 2023.01.09 |
| [JSP]개발 순서, 웹jdbc연결,폼 (0) | 2023.01.06 |