数据库连接池---Tomcat

     在Web容器中,数据库的连接池都是通过数据源(javax.sql.DataSource)访问的,即可以通过javax.sql.DataSource类取得一个Connection对象,但是要想得到一个DataSource对象需要使用JNDI(Java Naming and Directory Interface,Java命名及目录接口,java EE提供的一个服务,其服务的主要功能就是通过一个名称的“key”查找到一个对象“value”)进行查找

   1,配置数据连接池:

  • 将数据库的驱动程序复制到tomcat的lib包下;
  • 在server.xml中配置数据库连接池:
		<Resource name="jdbc/dbpool"
				auth="Container"
				type="javax.sql.DataSource"
				maxActive="100"
				maxIdle="30"
				maxWait="10000"
				username="root"
				password="kejianjun"
				driverClassName="com.jdbc.mysql.Driver"
				uri="jdbc:mysql://localhost:3306/jsp"/>
name:配置一个连接池资源,名为jdbc/dbpool
auth:容器负责资源的连接
type:此数据源名称对应的类型是DataSource
maxActive:可以打开的最大连接数
maxIdle:维持的最小连接数
maxWait:用户最大等待时间
username:用户名
password:密码
driverClassName:数据库驱动程序
uri:数据库名称

在Web.xml中配置:

	<resource-ref>
		<description>DB Connection</description>
		<res-ref-name>jdbc/dbpool</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>

 2,查找数据源

   数据源的操作使用的是JNDI方式进行查找的,所有如果使用数据源取得数据库连接,则必须按照如下步骤进行配置:

  1. 初始化名称查找上下文:Context ctx = new InitialContext();
  2. 通过名称查找DataSource对象:DataSource ds = (DataSource)ctx.lookup(JNDI名称);
  3. 通过DataSource取得一个数据连接:Connection conn = ds.getConnection();

一般在一个工具类里可以这么写:

package com.keith.elDemo;

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class DbPoolConn {
	private static final String DSNAME = "java:comp/env/jdbc/dbpool";
	private Connection conn = null;

	/**
	 * 在构造方法中进行数据库连接
	 */
	public DbPoolConn() {
		try {
			//初始化名称查找上下文
			Context ctx = new InitialContext();
			//取得DataSource的实例
			DataSource ds = (DataSource) ctx.lookup(DSNAME);
			//取得数据库连接
			this.conn = ds.getConnection();
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 取得数据库连接
	 * @return
	 */
	public Connection getConn() {
		return conn;
	}

	/**
	 * 数据库关闭
	 */
	public void close() {
		try {
			if (this.conn != null) {
				this.conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}
 

 

 

 

eclipse+MySQL+tomcat配置数据库连接池 数据库连接池的作用 首先,我们来说说为什么要建立数据库连接池,以及数据库连接池的作用。 作用: 当一个连接通道使用完后,系统并不会将其释放,而是将它存储在连接池里。下次需要使用连接通道的时候,系统会判断连接池里是否有空闲的连接通道对象。如果有,设置其连接字符串,修改其连接状态,重新使用。 这样能在很大程度上减少实例化的次数,节省了内存和时间,提升了效率。 要知道,创建一个对象需要做3件事:开辟堆空间,调用构造函数,返回地址。而这些行为是很消耗性能的。 从上面所说的作用,我们可以马上发现数据库连接 阅读详情

相关推荐

Vue 10分钟入门VR全景显示 基于photo-sphere-viewer

文章目录前言一、引入photo-sphere-viewer?二、使用步骤1.引入库2.声明容器3.内容加载4.全部代码总结 前言 由于工作的需求,要实现全景图片的展示与预览,本来以为会是一个很难的内容,没想到使用现成的组件photo-sphere-viewer就可以轻松实现,上手只需要10分钟! 一、引入photo-sphere-viewer? 可以直接通过npm进行引入 npm install photo-sphere-viewer 二、使用步骤 1.引入库 photo-sphere-viewer

YIGE_MO的博客 5866

Tomcat配置数据库连接池

下面以mysql为例说一下如何配置Tomcat数据库连接池 1.将mysql的jdbc驱动复制到$CATALINA_HOME/lib 例如:我的驱动为:mysql-connector-java-5.1.8-bin.jar、 CATALINA_HOME为:”C:\Program Files\Apache Software Foundation\Tomcat 8.0” 2.配置Contex

似曾相识燕归来的博客 618

Windows10检查Cuda和cuDNN是否安装成功?

简介:根据上篇博客已经完成了CUDA和cuDNN的安装步骤,完成对其的安装。下面将来检查它们是否安装成功。 1 .首先win+R进入CMD,在命令行输入nvcc -V,如下图所示,则表示cuda已经安装成功。 2 .进入到cuda的安装路径,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite,找到如下两个.exe文件: 首先执行:deviceQuery.exe,查看是否出现如下界面: 然后执行bandwid

jhsignal的博客 14万+

java:comp/env/jdbc/ 的两种配置方法

1. 在 META-INF 下建立文件: context.xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;Context&gt; &lt;Resource auth="Container" delegateProperties="foo=bar" factory="org.logicalcob

weixin_33785108的博客 1488

Qt图表库三选一:Qwt、QChart、QCustomPlot实战性能对比与避坑指南

本文深入对比了Qt开发中三大主流图表库Qwt、QChart和QCustomPlot的性能与适用场景。通过实测数据展示各库在渲染效率、内存占用和功能特性上的差异,并提供针对不同项目需求的选型建议和集成避坑指南,帮助开发者高效选择最适合的Qt图表解决方案。

weixin_33691700的博客 449

DIY音乐播放器:用VS1053模块+Arduino打造你的专属MP3播放器(附完整代码)

本文详细介绍了如何使用VS1053音频解码模块与Arduino开发板,从零开始构建一个功能完备的桌面级MP3播放器。内容涵盖硬件架构设计、SPI总线共享、底层驱动编写、双缓冲区数据流管理以及用户交互实现,并提供完整的代码示例与性能优化建议,帮助创客打造高度可定制的专属音乐播放设备。

weixin_29189003的博客 287

DBpool连接池的使用与总结

一、连接池介绍数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。二、连接池的优点连接池是创建和管理一个连接的缓冲池的

杰弗瑞 1万+

【TestNG自动化测试框架详解】

TestNG是一款设计测试用例执行流程的测试框架。

weixin_43936332的博客 1540

Tomcat项目部署方式

摘自http://blog.youkuaiyun.com/diamondy/article/details/7472411 tomcat目录下各文件夹作用 1.bin:存放各种不同平台开启与关闭Tomcat的脚本文件。 2.lib:存tomcat与web应用的Jar包 3.conf:存放tomcat的配置文件 4.webapps:web应用的发布目录 5.work:tomcat把由各种jsp生成的...

喝拉菲的猫 318

导数与微分在 FPS 射击游戏中的实际应用:把“手感”算出来

摘要:射击游戏开发中,单线程适用于简单小游戏(如单机打靶),所有任务由主线程顺序处理,代码简单但效率较低;多线程则适合复杂场景(如多人在线3D大作),通过渲染、逻辑、网络、音效等线程分工协作,确保画面流畅、响应迅速和实时同步。选择依据取决于游戏复杂度、联网需求和性能要求,小型游戏用单线程,大型高要求项目必须采用多线程架构。(149字)

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 3278

LIN协议V2.2A版介绍

IN 协议规范2.2A 版(2010 年 12 月发布)是面向低成本汽车网络的标准,核心采用单主多从架构,支持最高20kbit/s速率,通过单总线实现通信;定义了完整的协议栈(含协议层、传输层、物理层等),规定了帧结构(含 Break 字段、Sync 字节、保护标识符 PID、数据字段、校验和)、5 类帧类型(无条件帧、事件触发帧等)及调度表机制以保障确定性传输;

qflook的博客 319

Tomcat DBCP(Database Connection Pool) 数据库连接池入门介绍

Apache Tomcat DBCP(Database Connection Pool)是一个用于管理数据库连接的组件,通常与Apache Tomcat服务器一起使用。它提供了一种机制来有效地管理数据库连接,以便在高负载下提供更好的性能和可伸缩性。Tomcat DBCP通过创建和维护一组预先配置的数据库连接来管理连接池。这些连接在需要时可以被应用程序使用,并在不再需要时释放回池中。

1383

智能车图像处理21-进阶篇13--正入十字补线2

这篇文章主要的正入十字补线与1基本相同,主要防止图像中双十字的问题。

taiyuezyh的博客 2032

Tomcat 数据库连接池

每一次Web请求都要建立一次数据库连接,建立连接是一个费时的活动,每次都要花费0.05s-1s的时间,而且系统还要分配内存资源.这个时间对于一次或几次数据库操作,或许感觉不出系统有多大的开销.可是对于现在的Web应用,尤其是大型电子商务网站,频繁的进行数据库连接操作势必占用很多的系统资源,网站的响应速度必定下降,严重的甚至会造成服务器的崩溃.对于每一次数据库连接,使用完后都要断开.否则程序出现异常

每天进步一点点 时间会让你成为巨人 2915

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Tomcat使用数据库连接池数据库

数据库连接池在初始化时将创建一定数量的数据库连接,具体数量的由连接池的最小数据库连接数来设定。无论这些数据库是否被使用,连接池都将确保至少拥有这些数量的连接。同时,连接池可以根据池中连接的使用率,动态增加或减少池中的连接数。Java程序访问数据库时,只需从连接池中取出空闲状态的数据库连接,当程序访问数据库结束时,再将数据库连接返回给连接池,这样做可以提高访问数据库的效率。已经创建但尚未分配出去的连接被存放到一个空闲池中,每当用户请求一个链接时,系统首先检查空闲池内有没有空闲连接。

zouzxxi的博客 4658

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java tomcat数据库连接池_java Tomcat数据库连接池

1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码auth="Container"type="javax.sql.DataSource" maxActive="100"maxIdle="30" maxWait="10000" username="sa" password="120010"driverClassName="com.micros...

weixin_42494628的博客 211

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

tomcat下通过JNDI配置数据库连接池

tomcat下通过JNDI配置数据库连接池按照访问范围分类共有两种,分别是全局数据库连接池和局部数据库连接池。前者是在一个tocmat部署下的应用都能使用该数据库连接池,后者是只有特定的应用才能使用的数据库连接池。tomcat默认的JDBC连接池实现是 apache下的DBCP连接池,我们也可以使用C3P0作为tomcat的数据库连接池,但是需要进行额外的配置,本篇博客只介绍DBCP连接池的两种配

fly_zxy的专栏 1621

Tomcat 数据库连接池配置

 Tomcat 数据库连接池配置(各种版本) Tomcat 数据库连接池配置 前言 :   1  准备 mysql 的 jdbc 驱动程序   2  安装 Tomcat 默认全部装在 D:/Server/tomcat5.0 D:/Server/tomcat5.5 D:/Server/tomcat6.0   3  以 TOMCAT_HOME 代替个版本的安装目录 4   

wanghongyiwhy的专栏 1010

数据库连接池在TOMCAT中的几种配置方法

数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标,数据库连接池正是针对这个问题提出的. 数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,这样可以明显提高对数据库操作的性能. 数据库连接池在初始化的时将创建一定数量的数据库连接放到连接池中,这些

answan的博客 973

java Tomcat数据库连接池

java Tomcat数据库连接池   1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码   Resource name="jdbc/books" auth="Container"type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10

小李大哥 828

Tomcat数据库连接池配置

一定是那些踩过坑的人,才急切地想要把坑填平。 Tomcat数据库连接池配置,本来是一件很简单的事情,网上也有不少的文章,但是大多只有文字描述,没有图向导,对于初学者来说,信息量太大,很容易搞不清楚哪里是哪里,于是在绕过无数弯踩过深坑之后,本小白决定为广大初学者写这篇图文搭配的文章。工具(1)eclipse-jee-mars-R-win32-x86_64 (2)mysql-5.5.39-winx

琳小白的博客 2万+

Tomcat 数据库连接池的配置

Tomcat 数据库连接池的配置下载apache-tomcat-5.5.25-admin.zip,解压缩这个文件。 将/apache-tomcat-5.5.25-admin/apache-tomcat-5.5.25/server/webapps下面的admin文件复制到自己的tomcat服务/apache-tomcat-5.5.25/server/webapps下面。同样/apache

mlitsn的专栏 1125

DBCP数据库连接池以及在Tomcat中配置JNDI数据源

本地Tomcat的JNDI配置

weixin_52937170的博客 1944

如何设置tomcat数据库连接池

 1如何设置TOMCAT数据库连接池  最近在网上,有很多朋友并不了解什么叫做数据库连接池,怎么配置连接池也不清楚。于是为了方便大家,我特此写这份文档。 以tomcat为例子: 如果tomcat版本为4.X版本 1) 设置oracle连接池(tomcat4.X) 在设置oracle连接池之前,要保证在%tomcathome%/common/lib

xuexi8的专栏 897

Tomcat中数据库连接池的配置

 JSP中tomcat的SQL Server2000数据库连接池的配置环境:1. 数据库:Microsoft SQL Server 20002. 数据库驱动程序:net.sourceforge.jtds.jdbc.DriverJNDI(Java Naming and Directory Interface)概述:Tomcat4(5)提供了一个与Java Enterprise Edition应用

Darren的专栏 1586
上一篇: 数据源操作原理
下一篇: jsp标签编程『上』---编写标签
keithJava
博客等级 码龄16年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值