1. server.xml 파일에 아래 사항을 추가한다.
(적용하려는 <GlobalNamingResource> 또는 <Context>안에 : 두가지 중 아무거나)
ex 1)
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
username="root" password="1234" url="jdbc:mysql://localhost:3306/spring"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="10" maxIdle="5" maxWait="10000"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
/>
ex 2)
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/mysql">
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>username</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/spring</value>
</parameter>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>5</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>
※ <GlobalNamingResource> 안에 추가했을 경우 context.xml에 다음을 추가할 것.
<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource"/>
2. web.xml 파일에 아래 사항을 추가한다.
<resource-ref>
<description>jdbc/mysql</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3. Java 파일또는 JSP 파일에서 사용한다.
import javax.naming.*;
import java.sql.*;
import javax.sql.*;
.
.# 생략 #
.
Context ctx = new InitialContext();
Context ctx2 = (Context)ctx.lookup("java:comp/env");
DataSource ds = (DataSource)ctx2.lookup("jdbc/mysql");
Connection cn = ds.getConnection();