一个动态的网站频繁地从数据库中取得数据来构成html页面。每一次请求一个页面都会发生数据库操作。但连接数据库却是一个需要消耗大量时间的工作,因为请求连接需要建立通讯,分配资源,进行权限认证。这些工作很少能在一两秒内完成。 所以,建立一个连接,然后再后续的查询中都使用此连接会大大地提高性能。因为servlet可以在不同的请求间保持状态,因此采用数据库连接池是一个直接的解决方案。
servlet在服务器的进程空间中驻留,可以方便而持久地维护数据库连接。接下来,我们介绍一个完整的连接池的实现。在实现中,有一个连接池管理器管理连接池对象,其中每一个连接池保持一组数据库连接对象,这些对象可为任何servlet所使用。
一、数据库连接池类 dbconnectionpool,提供如下的方法:
1、从池中取得一个打开的连接;
2、将一个连接返回池中;
3、在关闭时释放所有的资源,并关闭所有的连接。
另外,dbconnectionpool还处理连接失败,比如超时,通讯失败等错误,并且根据预定义的参数限制池中的连接数。
二、管理者类,dbco.netionmanager,是一个容器将连接池封装在内,并管理所有的连接池。它的方法有:
1、 调用和注册所有的jdbc驱动程序;
2、 根据参数表创建dbconnectionpool对象;
3、 映射连接池的名字和dbconnectionpool实例;
4、 当所有的连接客户退出后,关闭全部连接池。
这些类的实现,以及如何在servlet中使用连接池的应用在随后的文章中讲解
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器