huashan8 发表于 2018-11-29 11:41:52

Tomcat 5.0 数据源使用

数据库连接池介绍
如果是自行取得数据库连接,每次都要载入Connection、用户验证、建立连接等动作,Connection开开关关的会相当没有效率,在单机上也许感觉差别不大,但是对于Web应用程序,需要服务的人数多的情況下,效率的问题就会被突显出来。

您可以预先建立好一定数量的Connection并存储在一个池(Pool)中,在需要的时候从池中取得Connection,不需要的时候将Connection放回池中,如此就可以重复利用Connection,而不用浪费时间在Connection的重新载入与开关。

DBCP的使用
目前已经有许多设计好的连接池组件可以直接取得使用,而不用您重新设计一个连接池,在Tomcat中带有DBCP连接池,您可以直接利用它来使用连接池,取得资源的方法是通过JNDI(JavaNaming and Directory Interface),不过您只要了解设置方式即可,这只是一些Key in的动作且并不困难。

首先您必须交JDBC驱动程序放在Tomcat的common/lib下,然后编辑conf/server.xml,在与之间加入以下的內容
server.xml
...


   
   
   
      
            factory
         org.apache.commons.dbcp.BasicDataSourceFactory
      
      
      
      
      
            url
            jdbc:mysql://localhost/GUESTBOOK
      
      

      
         driverClassName
         com.mysql.jdbc.Driver
      
      

      
            username
         caterpillar
      
      
            password
            123456
      
      

      
      
            maxWait
            3000
      
      

      
            maxIdle
            10
      
      

      
            maxActive
            100
      
   

...


设置好后,接下来设置Web应用程序的web.xml,加入以下的內容
web.xml
...
   
         JNDI JDBCDataSource jdbc/GUESTBOOK      javax.sql.DataSource
Container
   
...


这样就可以使用DBCP连接池的功能了,可以这么取Connection
Context initContext = newInitialContext();
Context envContext= (Context)initContext.lookup("java:/comp/env");
DataSource ds =(DataSource)envContext.lookup("jdbc/GUESTBOOK");
Connection conn =ds.getConnection();


下面这个JSP程序是个简单测试通过连接池取得连接的例子
test.jsp









页: [1]
查看完整版本: Tomcat 5.0 数据源使用