Eclipse +Tomcat配置JNDI資料來源

來源:互聯網
上載者:User

標籤:eclipse   tomcat   

以下是具體配置的步驟:

1.首先配置Tomcat下的jndi資料來源。具體存放目錄apache-tomcat-7.0.59\conf\Catalina\localhost 下

osh.xml

<?xml version='1.0' encoding='utf-8'?><Context docBase="G:\sbwork\oshome\WebContent" reloadable="false" path="/osh">   <Resource name="jdbc/osh" auth="Container" type="javax.sql.DataSource"         driverClassName="oracle.jdbc.driver.OracleDriver"        url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)(SERVER=DEDICATED)))"         validationQuery="select 0 from DUAL"        username="olay"         password="123456"        maxActive="100"         maxIdle="50"         maxWait="10000"        removeAbandoned="true"         removeAbandonedTimeout="60"/> </Context>

(2)在tomcat的安裝檔案中lib目錄下放入資料庫驅動jar。


(3)spring的applicationContext.xml中配置datasource:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">    <property name="jndiName">        <value>java:comp/env/jdbc/osh</value>    </property></bean>

注意Vlaue屬性中必須加入java:comp/env,後面才是servers中的Resource 的name


(4)web.xml(這一步在eclipse項目要配上,不然找不到資料來源)

<resource-ref><description>Oracle Connection</description><res-ref-name>jdbc/osh</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>


在配置過程中,本人遇到下面問題,現在貼出來,分享一下。

同樣的配置,同樣的方法。Myeclipse項目啟動正常,但是eclipse項目啟動報錯,錯誤入下:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘OSHDatasource‘ defined in ServletContext resource [/osh/config/osh-servlet.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name [jdbc/osh] is not bound in this Context. Unable to find [jdbc].

錯誤很明顯是找不到jdbc/osh,導致擷取不到資料來源。 很鬱悶的是myclipse下沒問題。糾結了好久,終於找到問題所在。 Eclipse環境下在不到tomcat的jndi資料來源。 因此要在web.xml檔案加上以下代碼

<resource-ref><description>Oracle Connection</description><res-ref-name>jdbc/osh</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>

這樣就可以找到tomcat的資料來源,問題解決了。

Eclipse +Tomcat配置JNDI資料來源

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.