톰캣에서 제공해주는 DBCP 를 얻어오는 방법에는 global 적인방법과 각 web application에서 설정하는 방법이 있다.
이클립스에서 톰캣 서버를 설정하게 되면 아래 그림처럼 Servers라는 프로젝트가 하나 생기게 된다. Servers라는 프로젝트에 보면 아래 그림과 같이 server.xml 도 보이고 web.xml도 보인다. 여기 있는 파일을 변경한다고 해서 톰캣에 있는 파일이 변경되지는 않는다.
■ 각 web application에서 설정
1. server.xml, web.xml 설정
위의 그림에서 server.xml 파일에서 아래와 같은 내용을 추가한다. mysql 접속용이다.
<Context docBase="DBTest" path="/DBTest" reloadable="true" source="org.eclipse.jst.j2ee.server:DBTest">
<Resource name="jdbc/mysql_board" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test"
username="root" password="password"
maxActive="20" maxIdle="10" maxWait="-1"
/>
다음으로 각 web application(프로젝트) 폴더의 web.xml 에 아래와 같은 내용을 추가한다.
<resource-ref>
<description>board db Test</description>
<res-ref-name>jdbc/mysql_board</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
2. context.xml 설정
각 web application(프로젝트) 폴더의 META-INF 폴더에 context.xml 파일을 생성한후
아래의 내용을 추가한다.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/mysqlLocal" auth="Container"
type="javax.sql.DataSource"
username="root" password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test" maxActive="20"/>
</Context>
■ 전역설정
server.xml 의 <GlobalNamingResources> 엘리먼트의 자식엘리먼트로 아래의 내용을 추가한다.
<Resource name="jdbc/mysql_global" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test"
username="root" password="password"
maxActive="20" maxIdle="10" maxWait="-1" />
다음으로,
각 web application(프로젝트) 폴더의 META-INF 폴더에 context.xml 파일을 생성한후
아래의 내용을 추가한다.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<ResourceLink
name="jdbc/mysql_global"
global="jdbc/mysql_global"
type="javax.sql.DataSource"
/>
</Context>
이클립스에서 톰캣 서버를 설정하게 되면 아래 그림처럼 Servers라는 프로젝트가 하나 생기게 된다. Servers라는 프로젝트에 보면 아래 그림과 같이 server.xml 도 보이고 web.xml도 보인다. 여기 있는 파일을 변경한다고 해서 톰캣에 있는 파일이 변경되지는 않는다.
■ 각 web application에서 설정
1. server.xml, web.xml 설정
위의 그림에서 server.xml 파일에서 아래와 같은 내용을 추가한다. mysql 접속용이다.
<Context docBase="DBTest" path="/DBTest" reloadable="true" source="org.eclipse.jst.j2ee.server:DBTest">
<Resource name="jdbc/mysql_board" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test"
username="root" password="password"
maxActive="20" maxIdle="10" maxWait="-1"
/>
다음으로 각 web application(프로젝트) 폴더의 web.xml 에 아래와 같은 내용을 추가한다.
<resource-ref>
<description>board db Test</description>
<res-ref-name>jdbc/mysql_board</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
2. context.xml 설정
각 web application(프로젝트) 폴더의 META-INF 폴더에 context.xml 파일을 생성한후
아래의 내용을 추가한다.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/mysqlLocal" auth="Container"
type="javax.sql.DataSource"
username="root" password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test" maxActive="20"/>
</Context>
■ 전역설정
server.xml 의 <GlobalNamingResources> 엘리먼트의 자식엘리먼트로 아래의 내용을 추가한다.
<Resource name="jdbc/mysql_global" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test"
username="root" password="password"
maxActive="20" maxIdle="10" maxWait="-1" />
다음으로,
각 web application(프로젝트) 폴더의 META-INF 폴더에 context.xml 파일을 생성한후
아래의 내용을 추가한다.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<ResourceLink
name="jdbc/mysql_global"
global="jdbc/mysql_global"
type="javax.sql.DataSource"
/>
</Context>