Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  java  >  正文 用连接池提高Servlet访问数据库的效率

用连接池提高Servlet访问数据库的效率

发布时间:2019-10-09   编辑:www.jquerycn.cn
jquery中文网为您提供用连接池提高Servlet访问数据库的效率等资源,欢迎您收藏本站,我们将为您提供最新的用连接池提高Servlet访问数据库的效率资源
<script>ec(2);</script>
Java Servlet作为首选的服务器端数据处理技术,正在迅速取代CGI脚本。Servlet超越CGI的优势之一在于,不仅多个请求
可以共享公用资源,而且还可以在不同用户请求之间保留持续数据。本文介绍一种充分发挥该特色的实用技术,即数据库连
接池。
一、实现连接池的意义
动态Web站点往往用数据库存储的信息生成Web页面,每一个页面请求导致一次数据库访问。连接
数据库不仅要开销一定的通讯和内存资源,还必须完成用户验证、安全上下文配置这类任务,因而往往成为最为耗时的操
作。当然,实际的连接时间开销千变万化,但1到2秒延迟并非不常见。如果某个基于数据库的Web应用只需建立一次初始连
接,不同页面请求能够共享同一连接,就能获得显著的性能改善。
Servlet是一个Java类。Servlet引擎(它可能是Web服务软件的一部分,也可能是一个独立的附加模块)在系统启动或Servlet
第一次被请求时将该类装入Java虚拟机并创建它的一个实例。不同用户请求由同一Servlet实例的多个独立线程处理。那些要
求在不同请求之间持续有效的数据既可以用Servlet的实例变量来保存,也可以保存在独立的辅助对象中。
用JDBC访问数据库首先要创建与数据库之间的连接,获得一个连接对象(Connection),由连接对象提供执行SQL语句的方法。
本文介绍的数据库连接池包括一个管理类DBConnectionManager,负责提供与多个连接池对象(DBConnectionPool类)之间
的接口。每一个连接池对象管理一组JDBC连接对象,每一个连接对象可以被任意数量的Servlet共享。
类DBConnectionPool提供以下功能:
1) 从连接池获取(或创建)可用连接。
2) 把连接返回给连接池。
3) 在系统关闭时释放所有资源,关闭所有连接。
此外, DBConnectionPool类还能够处理无效连接(原来登记为可用的连接,由于某种原因不再可用,如超时,通讯问题)
,并能够限制连接池中的连接总数不超过某个预定值。
管理类DBConnectionManager用于管理多个连接池对象,它提供以下功能:
1) 装载和注册JDBC驱动程序。
2) 根据在属性文件中定义的属性创建连接池对象。
3) 实现连接池名字与其实例之间的映射。
4) 跟踪客户程序对连接池的引用,保证在最后一个客户程序结束时安全地关闭所有连接池。
本文余下部分将详细说明这两个类,最后给出一个示例演示Servlet使用连接池的一般过程。
二、具体实现

您可能感兴趣的文章:
servlet与jsp基础教程(1)-Servlet和JSP概述
asp.net性能优化方法-数据库访问性能优化
DB2数据库设计和最高性能原则
servlet与jsp基础教程(2)-设置开发、运行环境
mysql连接池的使用经验
一种实现数据库连接池的方法(2)
mysql常见出错代码中文解释
jdbc连接oracle数据库方法
NoSQL数据库之MongoDB入门详解
DB2基础知识(1)了解DB2

[关闭]