Jsp中使用数据库连接池.
1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码
<Resource name="jdbc/books"
auth="Container"type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="sa" password="120010"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=news"/>
参数含义: JNDI (java naming and directory interface): Java 命名和目录接口
name | 指定Resource的JNDI名称 |
auth | 指定管理Resource的Manager(Container:由容器创建和管理|Application:由Web应用创建和管理) |
type | 指定Resource所属的Java类 |
maxActive | 指定连接池中处于活动状态的数据库连接的最大数目 |
maxIdle | 指定连接池中处于空闲状态的数据库连接的最大数目 |
maxWait | 指定连接池中的连接处于空闲的最长时间,超过这个时间会抛出异常,取值为-1,表示可以无限期等待 |
2. 第二步将 数据驱动.jar 放入tomcat目录下的lib或common\lib下面
3. 第三步,打开应用程序的 Web.xml文件,添加以下配置
<resource-ref>
<res-ref-name>jdbc/books</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
节点数据来源于Context.xml里面设置的数据
4. 在java文件中先导入以下包
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
将原来的数据库连接操作
Class.forName("oracle.jdbc.driver.OracleDriver");
if( conn == null || conn.isClosed() )
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL",
"system",
"accp");
换成
Context c = new InitialContext();
DataSource ds = (DataSource)c.lookup("java:comp/env/jdbc/books");
conn = ds.getConnection();
记得要捕获 NamingException 与 SQLException 异常
使用连接池的好处是
数据库操作性能得到提升
通过连接池管理数据库的连接与释放、提高了系统资源的使用效率
Jsp中使用数据库连接池.的更多相关文章
- Apache中配置数据库连接池(数据源)
由于基于HTTP协议的Web程序是无状态的,因此,在应用程序中使用JDBC时,每次处理客户端请求都会重新建立数据库链接,如果客户端的请求频繁的话,这将会消耗非常多的资源,因此,在Tomcat中提供了数 ...
- Myeclipse WEB工程JSP使用JNDI 数据库连接池连接Mysql数据库
在网上查了很多,最后实现了.下面写一下过程: 首先,在WEBROOT/META-INF下建一个文件context.xml,内容为: <?xml version="1.0" e ...
- Flask中使用数据库连接池 DBUtils ——(4)
DBUtils是Python的一个用于实现数据库连接池的模块. 此连接池有两种连接模式: 模式一:为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线程 ...
- 一次项目实践中DBCP数据库连接池性能优化
关于数据库连接池DBCP的关注源于刚刚结束的一轮测试,测试内容是衡量某Webserver服务创建用户接口的性能.这是一款典型的tomcat应用,使用的测试工具是Grinder.DBCP作为tomcat ...
- tomcat项目中配置数据库连接池
1. 在项目中新建context.xml文件,不要在tomcat服务器的目录中修改context.xml(会对整个服务器生效).. 在web项目的META-INF中存放context.xml 2. ...
- SpringBoot中的数据库连接池
内置的连接池 目前Spring Boot中默认支持的连接池有dbcp,dbcp2, tomcat, hikari三种连接池. 数据库连接可以使用DataSource池进行自动配置. 由于Tomcat数 ...
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
作为后台服务开发,在日常工作中我们天天都在跟数据库打交道,一直在进行各种CRUD操作,都会使用到数据库连接池.按照发展历程,业界知名的数据库连接池有以下几种:c3p0.DBCP.Tomcat JDBC ...
- Peewee之playhouse中的数据库连接池
参见 http://note.youdao.com/noteshare?id=104255d91b5a00d716a713ae36e911fd 目前在学习Python库的源码,这是第二篇,比较简单的功 ...
- java web学习总结(十六) -------------------数据库连接池
一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...
随机推荐
- 【.Net基础拾遗】品味OO继承
0X1 引言 提起面向对象,每个人都有不同的见解.但提的最多的无非就是:对象.封装.继承.多态.差不多就是这些元素构成了面向对象设计开发的基本逻辑.面向对象编程,“对象”指的是什么?这里的" ...
- 在Struts 2中实现IoC
IoC(Inversion of Control,以下译为控制反转)随着Java社区中轻量级容器(Lightweight Contianer)的推广而越来越为大家耳熟能详.在此,我不想再多费唇舌来解释 ...
- CSS长度单位及区别 em ex px pt in
1. css相对长度单位 Ø em 元素的字体高度 Ø ex 字体x的高度 Ø px ...
- javaScript 网页特效 输出语句
大家好,我是小强老师,今天主要讲解 三个最为常用的输出语句. alert() 弹出警示框 window.alert(‘继续学习’); 完整的写法 效果如下: 因为alert 属于window 对象 ...
- sparkUI使用与扩展
http://www.jianshu.com/p/8e4c38d0c44e
- HDOJ 3790 双权值Dijkstra
#include <iostream> #include <stdio.h> #include <string.h> #include <cstring> ...
- 基于RAF的一个小动画框
RAF也即是requestAnimationFrame,之前的动画都是基于setTimeout写的,所以为了性能方面的考虑,开始使用requestAnimationFrame写动画. function ...
- 深入windows的关机消息截获-从XP到Win7的变化
之前写了一个软件用于实验室的打卡提醒,其中一个重要的功能是在关机之前提醒当天晚上是否已经打卡.之前我是在WM_ENDSESSION中弹出一个模态对话框来提醒,在XP中基本工作正常,在Win7中大多数时 ...
- WPF Multi-Touch 开发:惯性效果(Inertia)
原文 WPF Multi-Touch 开发:惯性效果(Inertia) 从上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia ...
- bzoj 1020-1029
1020 SHOI2008 安全的航线flight 这题的代码写了很久,主要是因为几何题的东西都忘得差不多了.除去写代码的2个小时,今晚又调了一晚上,终于AC了. 这题的做法还是很有参考价值的. 最简 ...