● Connection Pool
커넥션 풀 개념은 Connection 객체를 프로그램이 실행될 때마다 생성하는 것이 아니라, 웹 애플리케이션이 서비스되기 전에 웹서버에서 미리 생성하여 준비한 다음, 필요할 때 준비된 Connection을 가져다 사용함으로써 JDBC 프로그래밍의 문제점들을 개선한 기술이다.
● DataSource
커넥션풀에는 여러개의 Connection 객체가 생성되어 운용되는데, 이를 직접 웹 애플리케이션에서 다루기 힘들기 때문에 DataSource라는 개념을 도입하여 사용한다.
DataSource는 커넥션 풀의 Connection을 관리하기 위한 객체이고 JNDI Server를 통해서 이용된다.
DataSource 객체를 통해서 필요한 Connection을 획득, 반납 등의 작업을 한다.
- DATASOURCE CONNECTION POOL 소스
- driverClassName : DB작업을 위해 로딩할 JDBC 드라이버 파일에 드라이버 인터페이를 상속하는 파일명을 전체 이름으로 지정합니다. Class.forName() 메소드의 인자값.
- url : 접속할 DB 서버의 URL을 지정한다.
- username : DB 서버에 로그인할 계정을 지정한다.
- password : DB 서버에 로그인할 게정의 비밀번호를 지정한다.
- name : 현재 리소스를 등록할 이름을 지정한다.
- type : 리소스의 타입을 지정합니다. Connection Pool을 사용할 수있도록 해주는 객체의 javax.sqlDataSource이다.
- maxActive : 생성할 Conneciton 수를 지정한다. 최대로 생성될 수 있는 커넥션 갯수
- maxIdle : 일반적으로 활용할 최대 Connection 수를 지정한다. (놀고있는 상태인 애들)
- maxWait : Connection의 사용 요청이 있을 때 최대 대기 시간을 지정한다. 5000은 5초를 의미하며, 5초가 지난 후에도 Connection을 얻지 못하면 Exception이 발생한다.
< 실습하기 >
서블릿에서 db 연결을 위한 새로운 dynamic web project 파일을 만들어준다.
그리고 context.xml과 web.xml 파일을 넣어준다.
context.xml 는 servers에 있는 것을 가져오고 web.xml은 05_RESOURCE에 마우스 우클릭해 JAVA EE Tools의 Generate Deployment Description Stub을 선택하면 된다.
그리고 db연결을 위한 jar파일을 다운 받는다.
Connector/J로 자바용을 받는다.
다운받은 파일의 압축을 풀고 WEB-INF의 lib폴더안에 넣어준다.
그리고 01JDBC.jsp 파일을 작성해준다.
코드를 작성이 끝났으면 db와 연결을 해본다.
서블릿 파일을 만들기 위해 패키지를 만들고 JAVA클래스를 만들어 준다.
source에서 service와 init을 추가해준다.
conn, pstmt, rs 와 url, id, pw를 작성해준다.
init과 service에 코드를 작성해주고 실행시켜본다.
context.xml 파일 안에 datasource 커넥션 풀을 작성한다.
오류가 뜨는지 한번 실행해본다.
그리고 web.xml에 참조하는 자원을 작성해본다.
DATA SOURCE를 위한 파일을 서블릿과 JSP로 각각만들어 준다.
02DATASOURCE.JAVA 파일에 작성한다.
받아오는 값이 잘 출력되는지 확인해본다.
'IT수업 > JSP_SERVLET' 카테고리의 다른 글
IT 수업 18주차 (105) MVC 패턴 2(코드) (0) | 2024.04.22 |
---|---|
IT 수업 18주차 (104) MVC 패턴 1 (0) | 2024.04.22 |
IT 수업 17주차 (102) Listener (2) | 2024.04.19 |
IT 수업 17주차 (101) Filter 2 (0) | 2024.04.19 |
IT 수업 17주차 (100) Filter (0) | 2024.04.18 |