본문 바로가기
Programming/Java * Spring

[JSP] DataSource의 장점과 셋팅 방법

by 고막고막 2019. 6. 11.

DataSource는 java.sql 패키지의 기능을 보조하기 위한 javax.sql 패키지에 들어있다. DataSource는 java.sql 패키지의 DriverManager를 통해 DB 커넥션을 얻는 것에 비해 다음과 같은 장점을 가지고 있다.

1) 서버에서 관리하기 때문에 데이터베이스나 JDBC 드라이버가 변경되더라도 애플리케이션을 바꿀 필요가 없다.
2) 자체적으로 커넥션풀 기능을 구현하기 때문에 웹 애플리케이션 쪽에서 따로 작업할 것이 없다.
3) Connection과 Statement 객체를 풀링할 수 있다.
4) 분산 트랜잭션을 다룰 수 있다.

1. dbcp.jar 파일, pool.jar 파일 임포트

2. context.xml <Context> 태그 안에 리소스 정보 삽입

context.xml

<Resource name="jdbc/studydb" auth="Container" type="javax.sql.DataSource" 
maxActive="10" maxIdle="3" maxWait="1000" username="study" password="study"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/studydb?serverTimezone=UTC" classMethod="close"/>

3. web.xml에 context.xml에 등록한 DataSource에 접근하기 위한 설정 추가

web.xml

<resource-ref>
	<res-ref-name>jdbc/studydb</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>container</res-auth>
</resource-ref>