实验四-1-JDBC连接数据库
- 格式:doc
- 大小:64.50 KB
- 文档页数:3
数据库连接实验报告数据库连接实验报告引言:数据库连接是在软件开发中非常重要的一环,它负责建立应用程序与数据库之间的通信渠道,使得应用程序能够对数据库进行操作。
本实验旨在通过实际操作,探究数据库连接的原理和实现方法,并评估其性能和稳定性。
一、实验背景数据库连接是实现应用程序与数据库之间交互的基础,它的稳定性和性能直接影响着应用程序的运行效果。
在实际开发中,我们通常会使用数据库连接池来管理连接,以提高连接的复用性和效率。
二、实验目的1. 理解数据库连接的原理和作用;2. 掌握数据库连接的实现方法;3. 评估不同数据库连接方式的性能和稳定性。
三、实验过程1. 单线程连接方式单线程连接方式是最简单的连接方式,应用程序通过驱动程序直接连接数据库。
我们使用Java语言编写了一个简单的程序,通过JDBC连接MySQL数据库,并执行了一些简单的查询和更新操作。
2. 多线程连接方式多线程连接方式是在单线程连接方式的基础上,采用线程池来管理连接。
我们使用Java的线程池框架ExecutorService,创建了一个固定大小的线程池,并在每个线程中执行数据库的查询操作。
通过这种方式,可以提高连接的复用性和效率。
3. 连接池连接方式连接池连接方式是通过使用数据库连接池来管理连接。
我们使用了开源的连接池框架HikariCP,配置了连接池的参数,并在应用程序中使用连接池来获取和归还连接。
通过连接池的管理,可以更好地控制连接的数量和使用情况。
四、实验结果1. 单线程连接方式的性能和稳定性较差,当并发请求数量增加时,响应时间明显增加,甚至可能导致连接超时或数据库崩溃。
2. 多线程连接方式相比于单线程连接方式有了明显的性能提升,但在高并发情况下,仍可能出现连接超时或数据库崩溃的问题。
3. 连接池连接方式相对于前两种方式,具有更好的性能和稳定性。
连接池能够根据需求动态地管理连接数量,有效地避免了连接超时和数据库崩溃的问题。
五、实验总结通过本次实验,我们深入了解了数据库连接的原理和实现方法,并对不同连接方式的性能和稳定性进行了评估。
jdbc连接数据库的四个步骤一、引入jdbc相关的jar包在使用jdbc连接数据库之前,需要先引入jdbc相关的jar包,以便在代码中使用jdbc的相关类和方法。
常用的jdbc jar包有mysql-connector-java、ojdbc等,根据所使用的数据库类型选择相应的jar包。
二、加载数据库驱动加载数据库驱动是使用jdbc连接数据库的第一步。
不同的数据库有不同的驱动类,需要根据所使用的数据库类型加载相应的驱动类。
加载驱动的方式有两种:一种是使用Class.forName()方法加载驱动类,另一种是使用DriverManager.registerDriver()方法注册驱动类。
三、建立数据库连接建立数据库连接是使用jdbc连接数据库的第二步。
在建立数据库连接之前,需要先获取数据库连接所需的连接信息,包括数据库的URL、用户名和密码。
数据库的URL是连接数据库的唯一标识,用户名和密码用于验证用户身份。
通过调用DriverManager.getConnection()方法,并传入连接信息参数,即可建立数据库连接。
四、执行数据库操作建立数据库连接之后,就可以执行数据库操作了。
数据库操作包括数据的增删改查等操作。
在执行数据库操作之前,需要创建Statement或PreparedStatement对象,并使用这些对象执行相应的SQL语句。
Statement对象用于执行静态SQL语句,而PreparedStatement对象用于执行带有参数的预编译SQL语句。
执行SQL语句后,可以通过ResultSet对象获取查询结果。
jdbc连接数据库的四个步骤如上所述,其中第一步是引入jdbc相关的jar包,第二步是加载数据库驱动,第三步是建立数据库连接,第四步是执行数据库操作。
通过这四个步骤,可以实现使用jdbc连接数据库,进行数据的增删改查等操作。
在使用jdbc连接数据库时,需要注意以下几点:1. 引入的jdbc jar包需要与所使用的数据库类型对应,否则无法正常连接数据库。
北邮大三数据库实验四数据库接口实验在北邮大三的学习进程中,数据库实验四——数据库接口实验,成为了我们深入探索数据库世界的重要一步。
这一实验不仅考验着我们对数据库理论知识的掌握,更要求我们具备将理论应用于实际操作的能力。
数据库接口实验的目的在于让我们理解和掌握如何通过编程实现与数据库的交互。
这意味着我们要学会使用特定的编程语言和数据库连接技术,来执行诸如数据的插入、查询、更新和删除等操作。
对于计算机专业的学生来说,这是一项至关重要的技能,因为在实际的软件开发中,几乎所有的应用都需要与数据库进行有效的沟通和数据管理。
在开始实验之前,我们首先需要明确实验所使用的数据库管理系统。
常见的有 MySQL、Oracle、SQL Server 等。
不同的数据库管理系统在语法和功能上可能会有一些细微的差异,但基本的操作原理是相通的。
以 MySQL 为例,我们需要安装 MySQL 服务器,并在本地创建数据库和表结构。
接下来,选择合适的编程语言来实现数据库接口。
Java 是一种广泛使用的编程语言,具有强大的数据库连接和操作能力。
通过使用 Java的 JDBC(Java Database Connectivity)库,我们可以建立与数据库的连接,并执行各种 SQL 语句。
在编写代码时,第一步是加载数据库驱动程序。
这就像是为通往数据库的道路铺上了基石。
然后,通过指定数据库的 URL、用户名和密码,建立与数据库的连接。
一旦连接成功,我们就可以创建 Statement 对象来执行 SQL 语句。
例如,要向数据库中插入一条数据,我们可以编写如下代码:```javaString sql ="INSERT INTO students (name, age) VALUES ('张三', 20)";Statement statement = connectioncreateStatement();statementexecuteUpdate(sql);```查询数据则通常使用`SELECT` 语句,如下所示:```javaString sql ="SELECT FROM students WHERE age > 18";ResultSet resultSet = statementexecuteQuery(sql);while (resultSetnext()){String name = resultSetgetString("name");int age = resultSetgetInt("age");Systemoutprintln("姓名:"+ name +",年龄:"+ age);}```更新和删除数据的操作与插入类似,只是使用的 SQL 语句不同。
python jdbc连接数据库定义方法JDBC连接是一种在Python编程语言中与数据库进行交互的标准方法。
它是一种简单而强大的工具,允许我们通过Python代码来执行SQL语句、查询数据库和更新数据。
本文将一步一步地详细介绍如何使用Python JDBC连接数据库的方法。
第一步:安装JDBC驱动程序要使用JDBC连接数据库,我们需要安装相应的JDBC驱动程序。
根据您所使用的数据库类型,您需要下载相应的JDBC驱动程序。
例如,如果您使用的是MySQL数据库,您可以从MySQL官方网站下载MySQL JDBC驱动程序。
确保将驱动程序文件保存在适当的位置,以便在后续步骤中引用它。
第二步:导入必要的模块要在Python中使用JDBC连接数据库,我们需要导入合适的模块。
常用的模块包括`jaydebeapi`和`pyodbc`。
`jaydebeapi`模块是一个纯Python模块,可用于通过JDBC连接到多种数据库。
而`pyodbc`模块则是一个用于连接到ODBC数据库的模块。
根据您的数据库类型和个人偏好,您可以选择导入相应的模块。
第三步:建立数据库连接一旦我们导入了所需的模块,我们就可以开始建立数据库连接了。
对于大多数数据库,我们需要提供以下连接参数:数据库URL、用户名以及密码。
这些参数将用于验证和建立与数据库的连接。
对于`jaydebeapi`模块,我们可以使用`jaydebeapi.connect()`函数来建立数据库连接。
以下是一个示例代码:pythonimport jaydebeapi# 定义数据库连接参数database_url = "jdbc:mysql:localhost:3306/mydatabase" username = "myuser"password = "mypassword"# 建立数据库连接conn = jaydebeapi.connect("com.mysql.jdbc.Driver", database_url, [username, password])对于`pyodbc`模块,我们可以使用`pyodbc.connect()`函数来建立数据库连接。
北邮大三数据库实验四数据库接口实验在北邮大三的学习进程中,数据库实验四——数据库接口实验,成为了我们深入探索数据库世界的重要一步。
这一实验不仅考验着我们对数据库理论知识的掌握程度,更要求我们将理论付诸实践,通过实际操作来实现数据库与应用程序之间的有效交互。
数据库接口是连接数据库与应用程序的桥梁,它使得应用程序能够方便地访问和操作数据库中的数据。
在本次实验中,我们主要使用了常见的数据库接口技术,如 ODBC(Open Database Connectivity,开放数据库连接)和 JDBC(Java Database Connectivity,Java 数据库连接)。
实验开始之前,我们首先需要对实验的目标和要求有清晰的认识。
本次实验的主要目标是掌握如何使用数据库接口来实现对数据库的增删改查操作,同时要能够处理可能出现的异常情况,确保数据的完整性和一致性。
为了达到这个目标,我们需要熟练掌握相关的编程语言和数据库操作语句。
在实验中,我选择了使用 Java 语言和 MySQL 数据库来完成任务。
首先,通过配置 JDBC 驱动程序,建立了与 MySQL 数据库的连接。
这一步看似简单,实则需要对数据库的连接参数有准确的设置,包括数据库的地址、端口号、用户名和密码等。
一旦连接建立成功,就如同打开了通往数据库宝藏的大门。
接下来就是实现具体的数据库操作功能。
对于数据的查询操作,我们需要使用 SQL(Structured Query Language,结构化查询语言)语句来指定查询的条件和要返回的字段。
例如,要查询某个表中所有年龄大于 20 岁的学生记录,就可以编写如下的 SQL 语句:```sqlSELECT FROM students WHERE age > 20;```通过 JDBC 提供的接口方法,将这条 SQL 语句发送到数据库执行,并获取返回的结果集。
在处理结果集时,需要小心地读取每一行数据,并将其进行相应的处理和展示。
一、实验目的1. 理解数据访问的基本概念和原理。
2. 掌握常见的数据访问技术及其应用场景。
3. 通过实验加深对数据访问方法的理解和实际操作能力。
二、实验原理数据访问是指从数据库或其他数据源中获取、检索、更新和删除数据的过程。
在数据访问过程中,需要了解数据的存储结构、查询语言、连接技术等。
本实验主要涉及以下内容:1. 数据库访问技术:JDBC、、ORM等。
2. 数据查询语言:SQL、NoSQL等。
3. 数据连接技术:TCP/IP、HTTP等。
三、实验内容1. 数据库访问技术(1)JDBCJDBC(Java Database Connectivity)是Java语言中用于访问关系型数据库的API。
本实验使用JDBC连接MySQL数据库,实现数据的增删改查操作。
(2)是.NET框架中用于访问数据库的组件。
本实验使用C#语言通过连接SQL Server数据库,实现数据的增删改查操作。
(3)ORMORM(Object-Relational Mapping)是一种将对象模型和关系模型相互映射的技术。
本实验使用Hibernate框架,通过ORM技术实现数据的增删改查操作。
2. 数据查询语言(1)SQLSQL(Structured Query Language)是一种用于数据库查询、更新和管理的标准语言。
本实验使用SQL语句对数据库进行查询、更新和删除操作。
(2)NoSQLNoSQL是一种非关系型数据库技术,适用于处理大规模、分布式、非结构化数据。
本实验使用MongoDB数据库,通过NoSQL语言进行数据操作。
3. 数据连接技术(1)TCP/IPTCP/IP是一种网络协议,用于实现数据在网络中的传输。
本实验通过TCP/IP协议连接数据库服务器,实现数据访问。
(2)HTTPHTTP(HyperText Transfer Protocol)是一种应用层协议,用于在Web服务器和客户端之间传输数据。
本实验通过HTTP协议访问Web服务,实现数据访问。
JDBC:加载数据库驱动、连接数据库(详细讲解)1. 加载数据库驱动:1)由于Java是⼀个纯⾯向对象语⾔,任何事物在其中都必须抽象成类或者类对象,数据库也不例外,JDBC同样也把数据库抽象成⾯向对象的结构;2)JDBC将整个数据库驱动器在底层抽象成⼀个对象(即驱动器对象),所有对数据库的操作都可以通过该对象进⾏;3)只不过数据库驱动对象和普通的Java对象有所不同:i. ⾸先⼤多数普通的Java对象都是运⾏该Java程序前不存在的,⽽是运⾏的时候临时创建的,程序退出后这些对象也随之释放;ii. 但数据库不⼀样,数据库往往是不依赖程序运⾏的,数据库通常都是24⼩时持续运⾏,只不过应⽤程序可以访问它⽽已,因此数据库对象不能像普通对象那样从⽆到有地“创建”;iii. 也就是说⼀个在应⽤程序运⾏之前就已经存在并且正常运⾏的数据库实例如何在Java程序中访问呢?4)加载数据库驱动的⽅法:i. 加载数据库驱动其实就是将操作系统中正在运⾏的数据库进程(实例)转化成Java对象供Java程序使⽤(操作数据库);ii. 这⾥⾸先要了解以下类驱动器的概念:a. 其实在Java中任何类(Object、String等)想要正常运⾏,底层都要有相应的驱动器驱动它;b. 但是我们平时看不出来这些类对象需要什么驱动器驱动啊!那是因为这些基础类的驱动器就是JVM虚拟机本⾝,其驱动的加载是在底层伴随着JVM的启动进⾏的,都对⽤户隐藏起来了,所以你看不到;c. ⽽那些不依赖虚拟机驱动的程序(⽐如⾮常典型的就是数据库程序、⼤多数图形程序,基本都是⽤C/C++编写,肯定不能靠JVM驱动)想在Java中访问就必须⾃⼰⼿动编写加载驱动器的代码了!!iii. ⼿动加载类的驱动器——使⽤Class类的forName静态⽅法:static Class<?> Class.forName(String className);a. className就是那个不依赖JVM驱动的外部进程的Java类名,这个类名必须符合Java命名规则,例如“com.xxx.Xxx"之类的;b. 你在Java中访问外部进程(将外部进程抽象成Java类或者对象)还⼀定要有Java类名?那这个类名是不是要事先就准备好咯?c. 是的!并不是任何外部进程都可以被Java访问,想要被Java访问就必须让那个程序⾃⼰准备好被Java调⽤的接⼝,并事先命名好Java类名才⾏,⽽程序准备好的Java接⼝就是该程序的Java驱动器(让JVM控制程序⾏为的东西就是Javad. 因此数据库⼚商必须⾃⾏别写好数据库的Java驱动器(称作数据库Connector,即连接器,⽤于和Java程序连接),并准备好类名,好让Class.forName加载它;iv. forName的加载原理:a. ⾸先任意⼀个提供Java接⼝的程序都会拥有⼀个Java类名(加载到JVM中就是⽤该类名来访问该程序实例的);b. 这样的程序运⾏后,这个Java类名就会被记录到改程序的进程信息中(⽽改程序的Java接⼝(驱动器)的句柄也会被记录到进程信息中);c. forName传⼊该类名以后就会到操作系统的进程表中查找具有该Java类名的线程;d. 找到对应的进程后就会找到该进程对应的Java驱动,然后将该驱动加载进JVM;e. 之后就可以在Java程序中通过这个类名(或者对象)来调⽤该进程的功能,或者访问进程中的数据了;5)数据库⼚商对驱动类名的命名:i. ⼚商之间各不相同,⽽且也没有规律可循,因此必须要查阅相应⼚商的JDBC⼿册才能知道;ii. MySQL的命名:com.sql.jdbc.Driveriii. Oracle的命名:oracle.jdbc.driver.OracleDriveriv. 从命名的包路径来看,各个⼚商驱动的实现差异较⼤;因此MySQL数据库的加载就是:Class.forName("com.sql.jdbc.Driver");6)准备好数据库连接器:i. 必须事先将数据库的JDBC-Connector加⼊到CLASSPATH路径当中,Connector由数据库⼚商提供,⽽MySQL的JDBC-Connector⽂件是mysql-connector-java-版本号-bin.jar;ii. 原因很简单,数据库的JDBC驱动必须要运⾏起来才能起到作⽤,在Java中就是要运⾏该类,⽽运⾏⼀个类⾸先会想到命令"java 要运⾏的类的类名“了,既然要直接执⾏该命令,那就必须得将⽬标类的路径添加到CLASSPATH中去才⾏,因 iii. 在Eclipse中这样设置:window -> preferences -> java -> install jres -> 选中当前采⽤的JRE点击edit -> add external jars -> 选择jar包路径保存即可;2. JDBC如何管理加载后的数据库驱动——⽤DriverManager建⽴连接:1. forName加载完类后如果发现这是⼀个数据库类的驱动那就会做⼀定的特殊处理了;2. JDBC专门(注意!“专门”)⽤DriverManager类来管理数据库驱动!也就是说DriverManager类是专门⽤来管理JDBC驱动的!不要因为类命中没有出现JDBC之类的字眼就认为该类还可以管理其它驱动!不!DriverManager只⽤来管理JDBC驱动!3. 加载后的驱动会被抽象成Java类型的对象保存在DriverManager的静态变量driver中;4. JDBC规定,⼀个Java进程只能同时持有(最多持有)⼀个JDBC驱动,也就是说上述的driver在加载后就有且仅有它⼀个了,也就是说你⼀次只能持有⼀个数据库对象,这就不允许你⼀个Java进程同时连多个数据库了;5. 还有⼀点要强调的是,数据库访问跟HTTP协议的原理⼀样,都是基于连接的,即查询数据库前必须现建⽴连接,连接上了以后可以进⾏多次查询,最后查询完毕后关闭连接才算⼀次完整的数据库操作,⽽这⾥的要素是什么?i. 那就是⼀个进程同时(最多)只能建⽴⼀个连接;ii. 这是很显然的,⼀个进程就代表⼀个⽤户,这和HTTP⼀样,⼀个⽤户不能同时向⼀个服务器建⽴两个连接,即同⼀个⼈要建⽴第⼆个连接除⾮是第⼀个连接已经断开(上⼀次服务已经结束);iii. 因此加载后的驱动器driver是受到同不监视的,即driver是⼀个同步监视器!6. 可以看⼀下DriverManager的getConnection⽅法,它利⽤driver来建⽴和数据库的连接(就跟HTTP中客户端和服务器端建⽴连接⼀样⼀样滴),它是⼀个同步⽅法!public static synchronized Connection DriverManager.getConnection(String url, String user, String passwd);driver是DriverManager的静态对象,该⽅法是同步⽅法,因此driver在该⽅法中就是同步监视器了;可以看到这样的结构就是单例模式,JDBC让⼀个进程最多只能得到⼀个数据库驱动器!7. 看⼀下getConnection的参数和返回值:i. url:要访问的数据库往往都是在远程(处在某个⽹络节点中),因此需要对数据库进⾏定位;a. 这个url的写法有讲究,不同数据库的写法不⼀样,需要参考数据库的JDBC⼿册;b. 但是JDBC标准还是规定了该URL的框架,其格式是:jdbc:数据库品牌:具体定位信息(该部分各数据库有差异)c. MySQL的写法:jdbc:mysql://hostname:port/具体数据库名,例如"jdbc.mysql://192.23.21.9:8889/student_dataii. user和passwd代表⽤户名和登陆密码,这都是数据库管理员分配的;iii. 返回值是⼀个Connection对象,该对象表⽰Java程序和数据库所建⽴的⼀个屋⾥连接会话,之后可以通过Connection对象和数据库进⾏交流(操作数据库);8. 建⽴连接的⽰例:Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/select_test", "root", "1234");3. ⼀个完整的加载驱动建⽴连接的代码:Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/select_test"); // 利⽤conn和数据库交流。
jdbc实训报告总结实训报告:JDBC(Java Database Connectivity)一、实训目标本次JDBC实训的目标是掌握Java语言如何通过JDBC API与关系型数据库进行交互,包括数据库的连接、查询、更新和断开连接等操作。
二、实训内容1. 了解JDBC的基本概念和用途。
2. 掌握JDBC驱动的安装与配置。
3. 掌握使用JDBC API进行数据库连接、查询、更新和断开连接的步骤。
4. 了解事务处理和批处理的概念及实现方法。
5. 掌握使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
6. 了解JDBC的异常处理机制。
7. 掌握使用连接池管理数据库连接。
三、实训过程1. 在实验环境中安装和配置JDBC驱动。
2. 编写Java程序,实现数据库的连接、查询、更新和断开连接等操作。
3. 编写Java程序,实现事务处理和批处理。
4. 编写Java程序,使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
5. 编写Java程序,实现异常处理。
6. 编写Java程序,使用连接池管理数据库连接。
四、实训总结通过本次实训,我深入了解了JDBC API的使用方法,掌握了Java语言与关系型数据库的交互方式。
在实训过程中,我学会了如何安装和配置JDBC驱动,如何使用JDBC API进行数据库连接、查询、更新和断开连接等操作,以及如何使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
此外,我还了解了事务处理和批处理的概念及实现方法,以及JDBC的异常处理机制和连接池的使用方法。
这些知识和技能将对我今后的学习和工作产生积极的影响。
简要说明jdbc连接数据库的步骤一、引入JDBC驱动在使用JDBC连接数据库之前,首先需要引入相应的JDBC驱动。
不同的数据库有不同的驱动,需要根据实际情况选择合适的驱动。
通常情况下,驱动的jar包会提供给开发者使用,需要将其导入到项目中。
二、加载驱动类在使用JDBC连接数据库之前,需要先加载驱动类。
加载驱动类可以通过Class.forName()方法实现,该方法接收一个参数,即驱动类的全限定名。
例如,对于MySQL数据库,加载驱动类的代码如下所示:Class.forName("com.mysql.jdbc.Driver");三、建立数据库连接在加载驱动类之后,可以通过DriverManager的getConnection()方法建立与数据库的连接。
getConnection()方法接收三个参数,分别是数据库的URL、用户名和密码。
其中,URL是连接数据库的地址,用户名和密码用于认证身份。
例如,连接MySQL数据库的代码如下所示:String url = "jdbc:mysql://localhost:3306/test";String username = "root";String password = "123456";Connection connection = DriverManager.getConnection(url, username, password);四、创建Statement对象在建立与数据库的连接之后,需要创建一个Statement对象,用于执行SQL语句。
Statement对象可以通过Connection的createStatement()方法创建。
例如,创建Statement对象的代码如下所示:Statement statement = connection.createStatement();五、执行SQL语句在创建Statement对象之后,可以通过Statement对象的executeQuery()方法执行SQL查询语句,或者通过executeUpdate()方法执行SQL更新语句。
数据库连接
(gongping_popo@)
以MySQL为例,先建好数据库jsptest。
(create database jsptest;)
方案一JDBC-ODBC
控制面板->管理工具->数据源(ODBC)->系统DSN->添加
选择针对MySQL的驱动(须安装),并输入数据源的名字(例如b)。
测试程序
<%@ page import="java.sql.*" %>
<%
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:b","root","asdf");
out.print(con==null);
}catch(Exception e)
{
out.print(e.getMessage());
}
%>
方案二第三方驱动(JAR包)
先下载驱动:
解压后找到相应的JAR包
将该JAR文件放到站点的WEB-INF\lib下(没有就新建相应的文件夹)
测试用的程序:
<%@ page import="java.sql.*" %>
<%
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://127.0.0.1:3306/jsptest";
Connection con=DriverManager.getConnection(url,"root","asdf");
out.print(con==null);
}catch(Exception e)
{
out.print(e.getMessage());
}
%>
方案三数据库连接池
将方案二中解压后找到的JAR包文件放到Tomcat安装目录下的common\lib中(Tomcat 5.X)。
如果是Tomcat 6直接放到安装目录下的lib 中。
修改配置文件
conf/server.xml 在<GlobalNamingResources>…</GlobalNamingResources>中加入:<Resource name="jdbc/DBPool" type="javax.sql.DataSource"
username="root" password="asdf" auth="Container"
maxActive="100" maxIdle="30" maxWait="10000"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/jsptest"/>
conf/context.xml 在<Context>…</Context>中加入:
<ResourceLink name="jdbc/DBPool" type="javax.sql.DataSource"
global="jdbc/DBPool" />
测试用的程序:
<%@ page import="javax.sql.*,java.sql.*,javax.naming.*" %>
<%
try {
Context env=(Context)new InitialContext().lookup("java:comp/env");
DataSource pool=(DataSource)env.lookup("jdbc/DBPool");
if (pool!=null)
{
Connection con=pool.getConnection();
out.print(con==null);
con.close();
}else
out.print("找不到连接池!");
}catch(Exception e){out.print(e.getMessage());}
%>。