我想將db連接信息存儲在應用程序web.xml文件中並在應用程序中獲取它。我在某處讀到,可能我不知道如何。tomcat:我如何將參數放在web.xml中並將它們提取到我的應用程序中?
有什麼想法?
謝謝!
我想將db連接信息存儲在應用程序web.xml文件中並在應用程序中獲取它。我在某處讀到,可能我不知道如何。tomcat:我如何將參數放在web.xml中並將它們提取到我的應用程序中?
有什麼想法?
謝謝!
1)根據您的應用程序服務器或容器管理的服務器,創建一個連接池。
2)將您的資源池在web.xml
例如(Tomcat 5.5和更高版本)。
我有一個Example_DS(數據源)在我的連接池,在這裏,我在web.xml中分享
<resource-ref>
<description>Database Connection for Example</description>
<res-ref-name>jdbc/Example_DS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
這對的context.xml創建我的資源相匹配(在META發現-INF文件夾)在我的web應用程序上。仍然使用Tomcat。
<Resource name="jdbc/Example_DS" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="YOURUSERNAMEHERE" password="YOURPASSWORDHERE" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/DATABASEHERE?autoReconnect=true"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
testOnBorrow="true" validationQuery="SELECT 1" />
顯然,你可以看到我在這裏使用MySQL。
<Resource />
允許你創建一個連接池(在Tomcat中)
在JBoss中....
1)創建一個Example_DS.xml文件,其中實例爲您的數據源的名稱。
例如
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>Example_DS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/DATABASEHERE?autoReconnect=true</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>YOURUSERNAMEHERE</user-name>
<password>YOURPASSWORDHERE</password>
<min-pool-size>0</min-pool-size>
<max-pool-size>100</max-pool-size>
<idle-timeout-minutes>2</idle-timeout-minutes>
<track-statements>false</track-statements>
</local-tx-datasource>
</datasources>
然後用戶,我放棄了早些時候將其映射到你的Jboss DS中<resource-ref>
。在/ server/default/deploy /文件夾中部署DS.xml文件並重新啓動JBoss。
一旦你完成了,那麼你可以使用上下文在Java中調用它。
你作爲一個context-param
將它們添加到你的web.xml:
<context-param>
<description>My variable</description>
<param-name>variable.name</param-name>
<param-value>value</param-value>
</context-param>
那麼你的servlet中,你對你的ServletContext調用getInitParameter()
:
String variable = getServletContext().getInitParameter("variable.name");
我希望這是你正在尋找的其他我很抱歉在這裏寫長篇散文....對於那些將來,書籤這個。大聲笑。 – 2010-02-03 20:15:49