Tomcat 7-dbcp配置数据库连接池详解
发布时间 - 2026-01-11 00:40:26 点击率:次Tomcat 7-dbcp配置数据库连接池详解

原理
关于连接池,大家都晓得用来限定对数据库的连接。基本的原理是预先在缓冲池中放入一定的空闲连接,当程序需要和数据库来交互时,不是直接新建数据库连接而是在连接池中直接取,使用完成后再放回到连接池中。为什么要这样牺牲一个缓冲来存放这些原本就会使用的连接呢?在上面讲了一个好处就是可以限定连接数,这样不会造成N多的数据库连接最后宕机;额外有了这样一个连接池,也可以来监听这些连接和便于管理。
配置
1.拷贝相关的jar
要知道连接池不是用来直接操作数据库的,最终进行相关操作的还是相关的jdbc驱动。如果是tomcat服务器,直接将驱动拷到tomncat的lib中。对于Java是ojdbc6.jar;对于sqlserver来讲是tomcat-dbcp.jar、servlet-ap.jar和sql server的驱动sqljdbc4.jar 包到项目文件的web-inf 文件夹下的lib目录。
2.配置context.xml
name="jdbc/drp" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxActive="100" maxIdle="30" maxWait="10000" username="drp1" password="drp1" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:drp" />
如果是全局配置的话,将context.xml文件放在tomcat的配置文件夹conf中即可;若想局部控制就需要将context.xml放在指定的项目中webroot的meta-inf中,就只会对自己本项目起作用。
注:
Name:指定连接池的名称 Auth:是连接池管理权属性,Container表示容器管理 type:数据源类型 factory:这个是在tomcat 5之后对于commons-dbcp的一种处理方案,具体是用了这样一个指定的实现类来处理的。性能更加优越,也能够兼容dbcp。 maxActive:最大的分配连接数。 maxIdle:idle是空闲的意思,所以这个就是当tomcat启动时,缓冲池为连接的新建的连接数。 maxWait:本文最大响应时间为10s。 url:为数据库地址。 sqlserver的格式:jdbc:sqlserver://localhost:1433;DatabaseName=name; driverclassname:驱动地址。 sqlserver的为:com.microsoft.sqlserver.jdbc.SQLServerDriver
3.验证
Connectionconn=null;
PreparedStatementpstmt=null;
ResultSetrs=null;
try{
//实例DBCP连接池
Contextctx=new InitialContext();
//通过JNDI访问指定的连接池
DataSourceds=(DataSource)ctx.lookup("java:comp/env/jdbc/drp");
//实例化数据库连接
conn=ds.getConnection();
//查询语句
pstmt=conn.prepareStatement("select* from t_user");
rs=pstmt.executeQuery();
if(rs.next()){
System.out.print(rs.getString("user_id")+rs.getString("user_name"));
System.out.print(conn);
}
}catch(SQLExceptione){
}
finally{
}
后序
之前tomcat 5的版本即可以在localhost:8080/admin中视图化配置,也可在xml中;后面就弃用了视图化配置的过程。总得来说对于针对数据连接的处理的方案,有他的好处,也需要开发人员在平时的编程中养成好的习惯,如果对于开启的连接没有关闭,当连接池够大的时候,会影响性能;如果达到峰值,那么程序直接宕掉。也减少了咱们在创建数据库连接的时间。当然除了dbcp,也有C3P0、Poolmen这样的处理方案。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Tomcat
# 7-dbcp配置数据库连接池详解
# 浅谈在Spring中如何使用数据源(DBCP、C3P0、JNDI)
# Java数据库连接池之DBCP浅析_动力节点Java学院整理
# dbcp 连接池不合理的锁导致连接耗尽解决方案
# java使用dbcp2数据库连接池
# java配置dbcp连接池(数据库连接池)示例分享
# Java dbcp连接池基本使用方法详解
# 连接池
# 是在
# 放在
# 连接数
# 用了
# 这样一个
# 池中
# 就会
# 也有
# 大家都
# 也可
# 希望能
# 可在
# 会对
# 要知道
# 时间为
# 在上面
# 谢谢大家
# 讲了
# 开发人员
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
制作旅游网站html,怎样注册旅游网站?
Laravel如何使用withoutEvents方法临时禁用模型事件
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
如何确保FTP站点访问权限与数据传输安全?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
如何实现建站之星域名转发设置?
java ZXing生成二维码及条码实例分享
如何在VPS电脑上快速搭建网站?
深圳网站制作平台,深圳市做网站好的公司有哪些?
如何为不同团队 ID 动态生成多个独立按钮
如何在自有机房高效搭建专业网站?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何快速搭建高效简练网站?
百度浏览器如何管理插件 百度浏览器插件管理方法
Laravel如何使用Service Container和依赖注入?(代码示例)
高端建站如何打造兼具美学与转化的品牌官网?
如何快速打造个性化非模板自助建站?
大连 网站制作,大连天途有线官网?
怎样使用JSON进行数据交换_它有什么限制
Laravel如何使用模型观察者?(Observer代码示例)
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Laravel如何实现事件和监听器?(Event & Listener实战)
制作企业网站建设方案,怎样建设一个公司网站?
北京企业网站设计制作公司,北京铁路集团官方网站?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
实例解析angularjs的filter过滤器
如何在Windows虚拟主机上快速搭建网站?
免费视频制作网站,更新又快又好的免费电影网站?
Python文件操作最佳实践_稳定性说明【指导】
微信小程序 五星评分(包括半颗星评分)实例代码
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
如何快速选择适合个人网站的云服务器配置?
装修招标网站设计制作流程,装修招标流程?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
如何在Windows服务器上快速搭建网站?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
javascript基于原型链的继承及call和apply函数用法分析
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
EditPlus中的正则表达式 实战(1)
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析

