Java的连接池技术

如何使用JNDI(Java Naming and Directory Interface)是一个应用程序接口,为开发人员提供了查找和访问各种命名和目录服务的通用,统一的接口,类似JDBC都是构建在抽象层上。JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个一个记录,同时返回数据库连接建立所必需的信息。

在实际开发中,我们有时候还会使用服务器提供给我们的数据库连接池,比如我们希望Tomcat服务器在启动的时候可以帮助我们创建一个数据库连接池,那么我们在应用程序中就不需要手动去创建数据库连接池,直接使用Tomcat服务器创建好的数据库连接池即可。要想让Tomcat服务器再启动的时候帮我们创建一个数据库连接池‘,那么需要简单配置一下Tomcat服务器。

配置过程如下:

(1)将数据库驱动程序(jar包)放到Tomcat安装目录下的lib文件夹中。

(2)在项目的WebContent\META-INF\目录下手动创建一个context.xml文件,编辑里面的内容,最终内容如下:


<?xml version="1.0" encoding="UTF-8"?>

<Context>

<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="525825GAOzhe"

driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

url="jdbc:sqlserver://localhost:1433;DatabaseName=test" />

</Context>

(3)再在上面WebContent\META-INF\目录下手动创建一个web.xml文件,编辑里面的内容,最终内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/test</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

(3)创建一个jsp页面,进行数据库的访问测试,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ page import="java.sql.*, javax.sql.*,javax.naming.*,com.microsoft.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>数据库连接测试</title>

</head>

<body>

<%

Connection con=null;

try{

Context ctx=new InitialContext();

DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/test");

con=ds.getConnection();

System.out.println("connection pool connectioned!!");

con.close();

}catch(NamingException e){

System.out.println(e.getMessage());

}catch(SQLException e){

e.printStackTrace();

}finally{

con.close();

}

%>

</body>

</html>

到此为止,数据库的连接池就已经创建好了。

时间: 2024-10-01 04:08:35

Java的连接池技术的相关文章

【Java】数据库连接池技术

JDBC的问题 在程序中,我们经常要建立与数据库的连接,之后再关闭这个连接.我们知道,数据库连接对象的创建是比较消耗系统性能的,这些频繁的操作势必会消耗大量的系统资源.因此我们需要采用更高效的数据库访问技术. 数据库连接池的概念 在JDBC2.0中提出了数据库连接池技术,它提供了javax.Sql.DataSource(数据源)接口,它负责建立与数据库的连接.通过客户之间共享一组连接,而不是在它们需要的时候为他们新建立连接,这样就可以改善资源的使用,提高应用程序的响应能力. 连接池技术的核心思想

JDBC连接池技术

一.连接池技术 (1)Java语言通过JDBC技术访问数据库的基本过程是: 1.加载数据库驱动程序: 2.通过JDBC建立数据库连接: 3.访问数据库,执行SQL语句: 4.断开数据库连接. (2)在Web应用程序开发中,使用这种模式访问数据库时,存在很多问题,为了解决这些问题,可以采用数据库连接池技术. 连接池实际上是在一个集合对象中存储一定数量的数据库连接对象.当程序需要使用数据库连接时,请求从池中获取一个空闲的连接, 程序使用完毕后再把连接放回池中重用.连接池通过重用连接的方法,减少了创建

连接池技术解密,连接池对我们不再陌生

一.为什么我们要用连接池技术? 前面的数据库连接的建立及关闭资源的方法有些缺陷.统舱传统数据库访问方式:一次数据库访问对应一个物理连接,每次操作数据库都要打开.关闭该物理连接, 系统性能严重受损. 解决方案:数据库连接池(Connection Pool).系统初始运行时,主动建立足够的连接,组成一个池.每次应用应用程序请求数据库连接时,无需重新打开连接,而是从池中取出已有的连接,使用完后,不再关闭,而是归还. 二.连接池主要由三部分组成:连接池的建立.连接池中连接的使用管理.连接池的关闭. 三.

Java——DBCP连接池

p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; text-align: justify; widows: 0; orphans: 0 } p.western { font-family: "Calibri", sans-serif; font-size: 10pt } p.cjk { font-family: "宋体", "SimSun";

java自定义连接池

1.java自定义连接池 1.1连接池的概念: 实际开发中"获取连接"或"释放资源"是非常消耗系统资源的两个过程,为了姐姐此类性能问题,通常情况我们采用连接池技术来贡献连接Connection 用池来管理Connection,这样可以重复使用Connection,有了池,所以我们就不用自己来创建Connection,而是通过池来获取Connection对象,当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection

《java数据源—连接池》

<java数据源-连接池>1.数据源的分类:直接数据源.连接池数据源.2.连接池.数据源.JNDI a.数据源:Java中的数据源就是连接到数据库的一条路径,数据源中并无真正的数据,它仅仅记录的是你连接到哪个数据库,以及如何连接. b.连接池:简单的说就是保存所有的数据库连接的地方,在系统初始化时,将数据库连接对象存储到内存里,当用户需要访问数据库的时候,并不是建立一个新的连接,而是从连接池中 取出一个已经建立好的空闲连接对象.而连接池负责分配.管理.释放数据库连接对象.注意的是:连接池是由容

Java创建连接池连接不同数据库

在一个应用里面,可能涉及到连接多个不同数据库进行操作,而每次连接写不同的实现会很麻烦.前面已经会了用JDBC连接数据库,那么利用反射和工厂模式,可以实现连接不同的数据库,这样处理起来将会很方便.同时建造数据库连接池,处理多个业务数据处理. 那么具体怎么实现呢,下面一起来看一下: 整体结构如下: 第一步,先处理连接不同数据库 1.首先,将数据库配置信息创建一个公用类:JdbcUrl.java 主数据库可以用默认的构造方法,如果是连接其他库,则通过传递参数的方式来处理. 数据库参数有如下几个: 1

Java c3p0连接池

import java.beans.PropertyVetoException; import java.sql.Connection; import java.sql.SQLException; import javax.sql.ConnectionPoolDataSource; import javax.swing.text.DefaultEditorKit.InsertBreakAction; import com.mchange.v2.c3p0.ComboPooledDataSource

实现连接池技术的样例

1. 在tomcat的安装文件夹下conf文件夹下的context.xml文件加入例如以下代码: <Resource name="jdbc/course" auth="Container" //这个name是非常关键的.由于web.xml文件里也须要用到,在jsp中连接数据源也须要用到. type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"