Tomcat資料來源配置筆記
阿新 • • 發佈:2019-01-23
現在做javaWeb開發用的伺服器一般都是tomcat,而且資料來源的配置往往都是在applicationContext.xml中配置一個dataSource的bean,這樣往往就會造成很多的不便,本文就介紹把資料配在tomcat下。
1、首先在tomcat對應的這個目錄下apache-tomcat-4\conf\Catalina\localhost建一個你對應專案名的xml檔案(檔名可隨意起)
<?xml version='1.0' encoding='GBK'?>
<Context docBase="D:\xxx\wangssm\WebRoot" path="/wang"
workDir="work/Catalina/localhost/contract">
<Resource auth="Container" name="UserTransaction"
type="javax.transaction.UserTransaction" jotm.timeout="60"
factory="org.objectweb.jotm.UserTransactionFactory" />
<Resource name="jdbc/basic" type="javax.sql.DataSource"
driverClassName ="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/wang?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull"
validationQuery="select 1 from dual" username="root" password="xxx" />
</Context>
這裡是我的配置。
配置裡的docBase指向的我們專案工程WebRoot的位置,path指的是伺服器端執行的專案名稱,可以自定義專案的別名,這樣就可以隱藏我們專案的真實名,,對一些專案名稱被固定不能更換,但外部訪問時又想換個路徑,非常有效
2、第二步,這樣我們就可以在applicationContext.xml這樣來配置我們專案的dataSource
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/basic"></property>
</bean>
讓Spring對JNDI資料來源進行引用,在value的值java:comp/env/前面的值是固定的,後面的jdbc/basic指的是你在tomcat下配置的資料來源在容器中的JNDI名,這樣就完成了資料來源的配置,tomcat無需載入專案執行啟動即可。