自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSP中tomcat的SQL Server2000數(shù)據(jù)庫連接池的配置

開發(fā) 后端
本文介紹JSP中tomcat的SQL Server2000數(shù)據(jù)庫連接池的配置,以及介紹設(shè)置JNDI資源和數(shù)據(jù)庫連接池概述。

JSP中tomcat的SQL Server2000數(shù)據(jù)庫連接池的配置環(huán)境:
1. 數(shù)據(jù)庫:Microsoft SQL Server 2000
2. 數(shù)據(jù)庫驅(qū)動程序:net.sourceforge.jtds.jdbc.Driver

JNDI(Java Naming and Directory Interface)概述:
Tomcat4(5)提供了一個與Java Enterprise Edition應(yīng)用服務(wù)相兼容的JNDI--InitialContext實現(xiàn)實例。它的初始數(shù)據(jù)設(shè)置在$CATALINA_HOME/conf /server.xml文件里,并可能在網(wǎng)頁應(yīng)用環(huán)境描述(/WEB-INF/web.xml)里被下列元素引用:
1) --環(huán)境入口,設(shè)置應(yīng)用程序如何操作。
2) --資源參數(shù),一般是數(shù)據(jù)庫驅(qū)動程序、JavaMail Session、自定義類工廠等。
3) --在Servlet 2.4里用來簡化設(shè)置不需認(rèn)證信息的資源資源如環(huán)境參數(shù)、resource-ref變量。

InitialContext在網(wǎng)頁應(yīng)用程序初始化時被設(shè)置,用來支持網(wǎng)頁應(yīng)用程序組件。所有的入口和資源都放在JNDI命名空間里的java:comp/env段里。點擊下列網(wǎng)址以獲取更多信息:
1) Java命名和目錄接口(Java Naming and Directory Interface)
2) J2EE平臺說明(J2EE Platform Specification)

設(shè)置JNDI資源
設(shè)置JNDI資源要在$CATALINA_HOME/conf/server.xml文件里使用下列標(biāo)志符:
1) --設(shè)置域個可變的JNDI InitialContext入口的名字和值(同上面說的等價)。
2) --設(shè)置應(yīng)用程序可用的資源的名字和類型(同上面說的等價)。
3) --設(shè)置Java資源類工廠的名稱或?qū)⒂玫腏avaBean屬性。
4) --給全局JNDI環(huán)境(JNDI Context)添加一個鏈接。
上述這些標(biāo)志符必須放在之間(針對專門的網(wǎng)頁應(yīng)用程序)或之間。
此外,設(shè)在網(wǎng)頁應(yīng)用環(huán)境描述(Web Application Descriptor)(/WEB-INF/web.xml)里的名字和值也在初始環(huán)境(Initial Context)里被設(shè)置,當(dāng)被元素值允許時將被重設(shè)初始值。
全局變量能在子元素的里設(shè)置。

數(shù)據(jù)庫連接池概述:

數(shù)據(jù)庫連接是一種關(guān)鍵的有限的昂貴的資源,這一點在多用戶的網(wǎng)頁應(yīng)用程序中體現(xiàn)得尤為突出。對數(shù)據(jù)庫連接的管理能顯著影響到整個應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。數(shù)據(jù)庫連接池正是針對這個問題提出來的。

數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項技術(shù)能明顯提高對數(shù)據(jù)庫操作的性能。

數(shù)據(jù)庫連接池在初始化時將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接放到連接池中,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設(shè)定的。無論這些數(shù)據(jù)庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請求的連接數(shù)超過最大連接數(shù)量時,這些請求將被加入到等待隊列中。數(shù)據(jù)庫連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮到下列幾個因素:

1)最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫連接的使用量不大,將會有大量的數(shù)據(jù)庫連接資源被浪費;

2)最大連接數(shù)是連接池能申請的最大連接數(shù),如果數(shù)據(jù)庫連接請求超過此數(shù),后面的數(shù)據(jù)庫連接請求將被加入到等待隊列中,這會影響之后的數(shù)據(jù)庫操作。

3)如果最小連接數(shù)與最大連接數(shù)相差太大,那么最先的連接請求將會獲利,之后超過最小連接數(shù)量的連接請求等價于建立一個新的數(shù)據(jù)庫連接。不過,這些大于最小連接數(shù)的數(shù)據(jù)庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復(fù)使用或是空閑超時后被釋放。

配置Tomcat數(shù)據(jù)庫連接池的前提:
1. 必須裝有Java運行環(huán)境;
2. 必須有SQL Server2000數(shù)據(jù)庫服務(wù)器(可以不在本地);
3. 必須有jtds.jar,并將它放在$CATALINA_HOME/common/lib目錄下(只能是這里)。使用它是因為Microsoft公司的Java SQL Server驅(qū)動程序不支持二次查詢,可到網(wǎng)上搜到。目前使用的是jtds-0.6.jar。

在$CATALINA_HOME/conf/server.xml里設(shè)置數(shù)據(jù)庫連接池:
下面是配置的代碼,必須放在之間。

  1. <Context path="/quality" docBase="quality" debug="0" reloadable
    ="true" crossContext="true"> 
  2. <Logger className="org.apache.catalina.logger.FileLogger" prefix
    ="localhost_quality_log." suffix=".txt" timestamp="true"/> 
  3. <Resource name="jdbc/connectDB" auth="Container" 
    type="javax.sql.DataSource"/> 
  4. <ResourceParams name="jdbc/connectDB"> 
  5. <parameter> 
  6.   <name>maxActivename> 
  7.    
  8.   <value>100value> 
  9. parameter> 
  10. <parameter> 
  11.   <name>maxIdlename> 
  12.    
  13.   <value>30value> 
  14. parameter> 
  15. <parameter> 
  16.   <name>maxWaitname> 
  17.    
  18.   <value>10000value> 
  19. parameter> 
  20. <parameter> 
  21.   <name>removeAbandonedname> 
  22.    
  23.   <value>truevalue> 
  24. parameter> 
  25. <parameter> 
  26.   <name>removeAbandonedTimeoutname> 
  27.  
  28.   <value>60value> 
  29. parameter> 
  30. <parameter> 
  31.   <name>logAbandonedname> 
  32.    
  33.   <value>falsevalue> 
  34. parameter> 
  35. <parameter> 
  36.   <name>factoryname> 
  37.   > 
  38.   <value>org.apache.commons.dbcp.BasicDataSourceFactoryvalue> 
  39. parameter> 
  40. <parameter> 
  41.   <name>usernamename> 
  42.    
  43.   <value>Iorishiniervalue> 
  44. parameter> 
  45. <parameter> 
  46.   <name>passwordname> 
  47.    
  48.   <value>mypasswdvalue> 
  49. parameter> 
  50. <parameter> 
  51.   <name>driverClassNamename> 
  52.    
  53.   <value>net.sourceforge.jtds.jdbc.Drivervalue> 
  54. parameter> 
  55. <parameter> 
  56.   <name>urlname> 
  57.    
  58.   <value>jdbc:jtds:sqlserver://127.127.127.127:1433/Northwindvalue> 
  59. parameter> 
  60. ResourceParams> 
  61. Context> 

下面是一些參數(shù)的說明:

  1. <Context path="/quality" docBase="quality" debug="0" 
    reloadable="true" crossContext="true"> 

1) path  指定路徑,這里設(shè)定的是$CATALINA_HOME/webapps下的quality目錄;
2) docBase 文件根目錄。
3) reloader  當(dāng)網(wǎng)頁被更新時是否重新編譯。
4) maxActive 連接池的最大數(shù)據(jù)庫連接數(shù)。設(shè)為0表示無限制。
5) maxIdle  數(shù)據(jù)庫連接的最大空閑時間。超過此空閑時間,數(shù)據(jù)庫連接將被標(biāo)記為不可用,然后被釋放。設(shè)為0表示無限制。
6) maxWait 最大建立連接等待時間。如果超過此時間將接到異常。設(shè)為-1表示無限制。
7) removeAbandoned 回收被遺棄的(一般是忘了釋放的)數(shù)據(jù)庫連接到連接池中。
8) removeAbandonedTimeout 數(shù)據(jù)庫連接過多長時間不用將被視為被遺棄而收回連接池中。
9) logAbandoned 將被遺棄的數(shù)據(jù)庫連接的回收記入日志。
10) driverClassName JDBC驅(qū)動程序。
11) url   數(shù)據(jù)庫連接字符串

在$CATALINA_HOME/webapps/quality/WEB-INF/web.xml里設(shè)置被引用的資源:
下面是配置代碼,必須放在里。

  1.  
  2. <resource-ref> 
  3. <description>connectDB testdescription> 
  4. <res-ref-name>jdbc/connectDBres-ref-name> 
  5. <res-type>javax.sql.DataSourceres-type> 
  6. <res-auth>Containerres-auth> 
  7. resource-ref> 
  8.  

下面是一下參數(shù)的必要說明:
1) description  對被引用的資源的描述。
2) res-ref-name  資源名稱。見上面的
3) res-type  資源類型。見上面的

在JSP中使用資源:
這是在$CATALINA_HOME/webapps/quality下的某級子目錄里的jsp網(wǎng)頁文件部分代碼:

  1. <%@ page contentType="text/html;charset=GBK"%> 
  2. <%@ page errorPage="error.jsp"%> 
  3. <%@ page import="javax.naming.*"%> 
  4. <%@ page import="javax.sql.*"%> 
  5. <%@ page import="java.sql.*"%> 
  6. <html> 
  7. <head> 
  8. head> 
  9. <body> 
  10.   <

以上是JSP中tomcat的SQL Server2000數(shù)據(jù)庫連接池的配置

【編輯推薦】

  1. JSP自定義標(biāo)簽由淺到深詳細(xì)講解
  2. 在JSP環(huán)境中配置使用fckeditor詳細(xì)講解
  3. 基于JSP實現(xiàn)數(shù)據(jù)庫中圖片的存儲與顯示
  4. 構(gòu)造JSP和Javabean開發(fā)和發(fā)布環(huán)境的方法
  5. JSP+JavaBean+Servlet工作原理實例講解
責(zé)任編輯:佚名 來源: builde
相關(guān)推薦

2010-07-08 10:06:43

Tomcat+SQL

2010-07-20 14:50:42

Tomcat+SQL

2010-06-18 10:20:22

SQL Server

2009-06-26 14:41:48

ADO.NET

2011-03-15 09:55:07

SQL Server2數(shù)據(jù)庫崩潰還原數(shù)據(jù)庫

2009-07-03 17:37:54

JSP數(shù)據(jù)庫

2010-05-21 09:48:30

java jsp to

2011-03-15 09:52:40

SQL Server2數(shù)據(jù)庫恢復(fù)系統(tǒng)

2011-05-13 09:34:51

TomcatMysql連接池

2010-07-08 15:55:25

SQL Server

2009-06-16 09:25:31

JBoss配置

2019-11-27 10:31:51

數(shù)據(jù)庫連接池內(nèi)存

2010-03-18 15:09:15

python數(shù)據(jù)庫連接

2010-07-12 14:37:28

SQL Server2

2009-06-24 07:53:47

Hibernate數(shù)據(jù)

2010-07-02 14:20:30

SQL Server2

2018-10-10 14:27:34

數(shù)據(jù)庫連接池MySQL

2010-07-01 17:08:26

2010-07-12 14:42:38

SQL Server2

2010-11-08 16:46:57

點贊
收藏

51CTO技術(shù)棧公眾號