以下以 Tomcat 5.5 為環境 資料庫為 MySQL
首先需要在你的 Tomcat 5.5 的目錄下,例如以下
C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml
將 server.xml 開啟並加入以下的 Resource 資源訊息
((記得放在 GlobalNamingResources 的標籤當中
<Resource name="jdbc/mxsql/datasource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://{Your ip}:1400;DatabaseName={Your db name}"
username="test"
password="test"
maxIdle="2"
maxWait="1000"
maxActive="4"
/>
接下來在你的 Java Web 專案裡的 WebRoot 資料夾下的 META-INF 裡
建立一個 context.xml 的檔案
<?xml version="1.0" encoding="UTF-8"?>
<!-- DEMO_JNDI is your
dynamic web project’s Context -->
<Context antiJARLocking="true" path="/DEMO_JNDI">
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://{Your ip};DatabaseName={Your db name}"
username="test"
password="test"
maxIdle="10"
maxWait="1000"
maxActive="100"
/>
</Context>
接著記得在你的 web 專案加入 Mysql 的 JDBC library
((EX: mysql-connector-java-5.1.18-bin.jar
並且你的 Tomcat 下的 common\lib 以及 server\lib 也要
接著就可以用以下程式來試試看 JNDI 是否有配置成功了
Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:comp/env"); DataSource datasource = (DataSource)envContext.lookup("jdbc/test"); Connection conn = datasource.getConnection();
注意這裡的 jdbc/test 必須是你再 tomcat 的 server.xml 和 web 專案裡的context.xml
中的 Resource 標籤中的 name 屬性一致
沒有留言:
張貼留言