九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
jndi配置屬性的含義

有關(guān)tomcat配置jndi的一些簡單介紹:

先說流程:(根據(jù)tomcat有關(guān)jndi的文檔,這個文檔應(yīng)該是針對單個項目配置,下面有比較好的可以配置全局使用的例子)

1.先安裝jdbc驅(qū)動,這一步很簡單,只需將對應(yīng)數(shù)據(jù)庫驅(qū)動放到tomcat對應(yīng)common/lib目錄下就行了;

2.修改對應(yīng)項目的WEB-INF/web.xml文件,用來聲明你的jndi名字以供你的項目使用:

在你的web.xml文件中加入如下代碼:

<resource-ref></resource-ref><description></description>
<resource-ref><description>Resource reference to a factory for java.sql.Connectioninstances that may be used for talking to a particulardatabase that is configured in the server.xml file.</description><res-ref-name>jdbc/EmployeeDB</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>

3.對應(yīng)java代碼中獲得連接方法:(代碼摘要)

Context initCtx = new InitialContext();Context envCtx = (Context) initCtx.lookup("java:comp/env");DataSource ds = (DataSource)envCtx.lookup("jdbc/EmployeeDB");Connection conn = ds.getConnection();... use this connection to access the database ...conn.close();

4.配置你的tomcat資源工廠:

在WEB-INF目錄下新建文件context.xml,內(nèi)容如下:

<context></context>
<Context ...>...<Resource name="jdbc/EmployeeDB" auth="Container"type="javax.sql.DataSource" username="dbusername" password="dbpassword"driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database"maxActive="8" maxIdle="4"/>...</Context>
這里使用HypersonicSQL database JDBC driver作為例子,不同數(shù)據(jù)庫大家可以找對應(yīng)的字段改一下就行,關(guān)于具體字段含義
后面有說明。
大概步驟已經(jīng)完了,后面大家應(yīng)該明白怎么做了,關(guān)于建立通用的連接池的方法這里不寫了,我在后面貼出來英文的,大家慢慢看
以下摘自tomcat關(guān)于jndi的官方文檔:
所有安裝tomcat的可以在tomcat目錄下找到對應(yīng)文章,路徑如下:
D:/apache-tomcat-5.5.25/webapps/tomcat-docs/jndi-resources-howto.html
紅字標(biāo)出的是tomcat解壓目錄,大家改成自己對應(yīng)目錄就可以了
關(guān)于context.xml中對應(yīng)字段解釋地址如下:
http://commons.apache.org/dbcp/configuration.html
或者大家看后面我引用別人的例子也行,里面有詳細(xì)的中文介紹
------------------------------------------------------------------------------------------------

以下是網(wǎng)上找的一篇文章,感覺寫的也很好,抄過來供大家看看:

數(shù)據(jù)源:

JDBC2.0提供了javax.sql.DataSource的接口,負(fù)責(zé)與數(shù)據(jù)庫建立連接,實際應(yīng)用時不需要編寫連接數(shù)據(jù)庫代碼,直接從數(shù)據(jù)源獲得數(shù)據(jù)庫的連接。Dataource中事先建立了多個數(shù)據(jù)庫連接,這些數(shù)據(jù)庫連接保持在數(shù)據(jù)庫連接池中,當(dāng)程序訪問數(shù)據(jù)庫時,只需要從連接池從取出空閑的連接,訪問數(shù)據(jù)庫結(jié)束,在將這些連接歸還給連接池。DataSource對象由容器(Tomcat)提供,不能使用創(chuàng)建實例的方法來生成 DataSource對象,要采用JAVA的JNDI(Java Nameing and Directory Interface,java命名和目錄接口)來獲得DataSource對象的引用。(另有一種說法:“其實從技術(shù)上來說,數(shù)據(jù)源連接方式是不需要目錄服務(wù)的,我們同樣可以通過序列化數(shù)據(jù)源對象直接訪問文件系統(tǒng)。這點(diǎn)是需要明確的。”感興趣的朋友可以試試。)JNDI是一種將對象和名字綁定的技術(shù),對象工廠負(fù)責(zé)生產(chǎn)出對象,這些對象都和唯一的名字相綁定。程序中可以通過這個名字來獲得對象的引用。Tomcat把DataSource作為一種可配置的 JNDI資源來處理,生成DataSource對象的工廠為 org.apache.comm.ons.dbcp.BasicDataSourceFactory。

 

配置數(shù)據(jù)源:

配置數(shù)據(jù)源其實相當(dāng)簡單:

首先在server.xml中加入<resource></resource>元素,打開server.xml,在<context></context>中加入以下代碼(以oracle為例):

 

 

<resource type="javax.sql.DataSource" auth="Container" name="jdbc/ JNDI名字"></resource>

<resourceparams name="jdbc/JNDI名字"></resourceparams>

<parameter></parameter>

<name></name>factory
 
<value></value>org.apache.commons.dbcp.BasicDataSourceFactory



<parameter></parameter>

<name></name>maxActive

<value></value>100



<parameter></parameter>
 
<name></name>maxIdle
 
<value></value>30



<parameter></parameter>

<name></name>maxWait
 
<value></value>10000



<parameter></parameter>
 
<name></name>username

<value></value>用戶名



<parameter></parameter>

<name></name>password

<value></value>密碼



<parameter></parameter>

<name></name>driverClassName

<value></value>oracle.jdbc.driver.OracleDriver



<parameter></parameter>

<name></name>url
 
<value></value>jdbc:oracle:thin:@ip:端口:sid



<resource></resource>元素的屬性如下:

 

屬性 描述
name 指定Resource的JNDI的名字
auth 指定管理Resource的Manager,由兩個可選值:Container和Application。Container表示由容器來創(chuàng)建和管理 Resource,Application表示由WEB應(yīng)用來創(chuàng)建和管理Resource。如果在web application deployment descriptor中使用<resource-ref></resource-ref>,這個屬性是必需的,如果使用<resource-env-ref></resource-env-ref>,這個屬性是可選的。
type 指定Resource所屬的java類名

<resourceparams></resourceparams>元素的屬性如下:

 

 

屬性 描述
name 指定ResourceParams的JNDI的名字,必須和Resource的name保持一致
factory 指定生成DataSource對象的factory的類名
maxActive 指定數(shù)據(jù)庫連接池中處于活動狀態(tài)的數(shù)據(jù)庫連接最大數(shù)目,0表示不受限制
maxIdle 指定數(shù)據(jù)庫連接池中處于空閑狀態(tài)的數(shù)據(jù)庫連接的最大數(shù)目,0表示不受限制
maxWait 指定數(shù)據(jù)庫連接池中的數(shù)據(jù)庫連接處于空閑狀態(tài)的最長時間(單位為毫秒),超過這一事件,將會拋出異常。-1表示可以無限期等待。
username 指定連接數(shù)據(jù)庫的用戶名
password 指定連接數(shù)據(jù)庫的密碼
driverClassName 指定連接數(shù)據(jù)庫的JDBC驅(qū)動程序
url 指定連接數(shù)據(jù)庫的URL

其他文章說以上配置就OK了,對于web.xml的配置可有可無,其實不是這樣子的。如果在web應(yīng)用中訪問了由Servlet容器管理的某個 JNDI Resource,則必須在web.xml中聲明對這個JNDI Resource的引用。表示資源引用的元素為<resource-ref></resource-ref>,該元素加在<wepapp></wepapp>中。

 

 

<resource-ref></resource-ref>

<descryiption></descryiption>DB Connection

<res-ref-name></res-ref-name>jdbc/JNDI名字

<res-type></res-type>javax.sql.DataSource

<res-auth></res-auth>Container

<resource-ref></resource-ref>元素的屬性如下:

 

 

屬性 描述
description 對所引用的資源的說明
res-ref-name 指定所引用資源的JNDI名字,與<resource></resource>元素中的name屬性保持一致
res-type 指定所引用資源的類名字,與<resource></resource>元素中的type屬性保持一致
res-auth 指定所引用資源的Manager,與<resource></resource>元素中的auth屬性保持一致

到這里,數(shù)據(jù)源就已經(jīng)配置成功了。但是我在測試的時候除了一點(diǎn)小麻煩,主要原因是對DataSource的概念沒搞清楚。我是這么測試的,寫一個測試類,然后在eclipse中進(jìn)行junit測試,捕獲的異常為:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial。

同樣的代碼在JSP文件中正常運(yùn)行,后來翻了一些資料,終于找到了問題的所在了。原來DataSource是由容器(TOMCAT)提供的,所以我的測試會拋出異常。為了再次驗證想法是否正確,在jsp文件中import剛才拋出異常的類,在進(jìn)行連接數(shù)據(jù)庫,結(jié)果一切正常。

下面的例子是實際應(yīng)用中使用DataSource,在jsp文件中連接oracle。

 

 

另:tomcat5.5的配制方法為:

               maxActive="100" maxIdle="30" maxWait="10000"
               username="用戶名" password="密碼" driverClassName="oracle.jdbc.driver.OracleDriver"
               url="jdbc:oracle:thin:@ip:端口:sid"/>

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入Tomcat:JNDI在TOMCAT中的應(yīng)用
tomcat6.0配置jndi在spring中使用
JSP中tomcat的SQL Server2000數(shù)據(jù)庫連接池的配置
Tomcat5.5下的Jndi的配置實例
JNDI+Tomcat配置數(shù)據(jù)源的兩種方式
Java程序中連接池、及參數(shù)綁定實現(xiàn)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服