∙ 어플리케이션 실행 시 미리 ConnedtionPool 객체를 생성한 후 데이터베이스와 연결을 맺는다.
∙ 어플리케이션은 데이터베이스 연동 작업 발생 시 이 ConnectionPool 객체를 이용해 작업한다.
커넥션풀(ConnectionPool) 동작과정
1) 톰캣 컨테이너를 실행한 후 응용 프로그램을 실행한다.
2) 톰캣 컨테이너 실행 시 ConnectionPool 객체를 생성한다.
3) 생성된 거넥션 객체는 DBMS와 연결한다.
4) 데이터베이스와 연동 작업이 필요할 경우 응용 프로그램은 ConnectionPool에서 제공하는 메소드를 호출하여 연동한다.
JNDI ( Java Naming and Directory Interface )
실제 웹 어플리케이션에서 ConnectionPoll 객체를 구현할 때는 Java SE에서 제공하는 javax.sql.Datasource 클래스를 이용한다.
JNDI란 필요한 자원을 키/값 쌍으로 저장한 후 필요할 때 키를 이용해 값을 얻는 방법이다.즉, 미리 접근할 자원에 키를 지정한 후 어플리케이션이 실행중일 때 이 키를 이용해 자원에 접근해서 작업하는 것
톰캣 컨테이너가 ConnectionPool 객체를 생성하면 이 객체에 대한 JNDI 이름(key)을 미리 설정해 놓는다.그러면 웹 어플리케이션에서 데이터베이스와 연동 작업을 할 때 이 JNDI 이름으로 접근하여 작업한다.
톰캣의 DataSource 설정 및 사용 방법
1) tomcat-dbcp 복붙하기
2) context.xml에 Resoucre 설정
<Resource
name="jdbc/oracle"
auth="Container"
type="javax.sql.DataSource"
driverClassName = "oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:xe"
username="scott"
password="tiger"
maxActive="50"
maxWait="-1"
/>
'Back > JSP' 카테고리의 다른 글
[JSP] MVC 디자인 패턴 (0) | 2022.02.08 |
---|---|
세션을 이용한 웹페이지 연동기능 (0) | 2022.02.05 |
서블릿의 비즈니스 로직 처리 방법 (0) | 2022.01.31 |
Port 8080 required by Tomcat v9.0 Server at localhost is already in use. 오류 (0) | 2022.01.31 |
자바스크립트로 서블릿에 요청하기 (0) | 2022.01.31 |