不知道.你从哪里看到的数据库连接池的配置,得到了你上面的结论和想法.据我的了解,,数据库连接池可以通过数据源的方式实现,例如在一些应用服务器中配置数据源,这样的数据源就是由应用服务器管理的数据连接池.用户从中得到的数据源连接一般是线程安全的.如果自己实现数据连接池,也可以采取类似的方法.首先数据库连接池应该与应用相关的.或者应用服务器处理,或者才用其他方式处理. .任何JSP/SErvlet等的请求产生时,都只是从已经初始化过的数据库连接池中取得相应数据库连接实例,然后使用完后释放资源..至于你说的问题,就是:数据库连接池的初始化应该在任何请求之前,可以放在应用的部署期间或初始化期间..而不是每个请求都要初始化数据库连接池。上面的只是个人观点,希望对你有帮助.

解决方案 »

  1.   

    池子确实只需要建立一次,多个人同时打开网页时同数据库就建立了多个连接,但是一般连接池都是启用共享的,也就是说 多个 连接其实 对应到 同一个 与数据库的 物理连接,这其中连接池就管理各个连接的事务等状态,也管理引用计数器以跟踪连接的闲置情况。你可以用一些工具来查看实际的情况,比如你 从 www.sysinternals.com 站点 下载 ProcessExplore for NT  程序, 这是个 进程浏览器,查看一个进程的属性时可以看 TCP/IP ,
    也就是同时能看他打开了什么 TCP/UDP 端口, 这样你调试时就可以看 Tomcat 进程(也就是相应的 javaw.exe ) 打开了 多少个到  数据库的连接( 比如 Oracle , 那就看他 建立了 多少个与 1521 端口的 TCP, MS-SQL-Server 就是  1433 ).你同时打开 20 个页面看看 与数据库的 TCP 连接 个数。