快速业务通道

走上开放之路: ASP开发人员的J2EE基础(下) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
求进行身份验证。在 Step 4 中,注意 例子中如何循环遍历结果集,直到 next() 方法返回 false 。您还必须知道每列的类型,并 对每列和每种类型调用适当的 getXXXX(n) 方法。还要注意您传递给 getXXXX(n) 方法的整 数是列编号。

在 ASP 页面使用 ADO 但没有连接池时,以上方法与典型的 ASP 页面采用的方法很相似 ,因为程序员负责打开和关闭数据库连接。

连接池

连接池通过对可以同时打开的数据库连接数目规定上限,可以增加应用程序的可伸缩性, 因而防止由于过多的连接请求而造成数据库服务器的过度运行。对于 ASP 来说,如果您选择 的数据库(如 DB2、SQL Server 或 Oracle)有 OLEDB 提供程序,则可以利用连接池,从而 就不必直接管理数据库连接。

有了 JDBC,您可以将自己从直接管理连接的工作中解放出来。J2EE 应用程序服务器被要 求为它们支持的所有数据库提供连接池。它们不使用某些高级的 JDBC API 调用来完成该任 务。当您的代码在应用程序服务器的监控下运行时,您就不必直接与数据库服务器交互,以 便为每个配置的数据库维护连接池。然后,应用程序从该池中请求连接,并在使用完这些连 接之后,将其返回到该池。大多数应用程序服务器都有相当高级的选项对池进行管理,包括 “收回”连接的能力,即从出错的应用程序(没有在给定时间内将连接返回池中)取回连接 。

使用连接池的应用程序的典型流程如下:

查找应用服务器资源库中的 DataSource (用于访问特定的连接池)。(每个应用服务器 都有一个资源库,其中包含所有已配置的连接和其他资源,比如消息队列和 SMTP 提供程序 。您可以使用名为 JNDI 的标准 J2EE API 来访问资源库。)(这个步骤只需执行一次。)

从池中获得连接(在需要时提供身份验证信息)。

执行查询和/或更新。

处理结果。

将连接返回池中。

走上开放之路: ASP开发人员的J2EE基础(下)(8)

时间:2011-04-09 IBM Jeff Wilson

清单 30 展示了使用连接池的一个例子。

清单 30. 一个连接池例子

// Step 1. Look up the DataSource InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup("jdbc/MyDS"); // Step 2. Get a connection from the pool Connection conn = ds.getConnection(); // Step 3. Execute query Statement stmt = conn.createStatement(); stmt.execute("SELECT * FROM USERID.EMPLOYEE"); // Step 4. Get the results ResultSet rs = stmt.getResultSet(); while (rs.next()) {   String firstCol = rs.getString(1);   int secondCol  = rs.getInt(2);   ... } // Step 5. Return connection to the pool conn.close();

Step 1 假设应用服务器已经配置了名为 "jdbc/MyDS" 的 DataSource 。这样就封装了一 个特定的 JDBC 驱动程序和数据库。您还可以向 DataSource 定义添加身份验证信息,这样 应用程序就不必提供该信息。您可以使用 InitialContext 类(它是 JNDI API 的一部分) 来查找应用服务器控制的各种资源。Step 3 至 Step 5 与前一个例子相同,不过要注意 Step 5 中对 close() 方法的调用仅把连接返回池中,而不是关闭该数据库连接。

J2EE 应用程序状态管理

在编写 J2EE Web 应用程序时,要管理应用程序的状态,有一组丰富的类和接口可供选择 。我们将介绍这些类和接口,并讨论如何在 Java Servlets 和 JSP 页面中使用这些类和接 口。不过,我们将首先介绍 范围的概念,它是理解 J2EE 中的应用程序状态管理的关键。

范围

从程序员的角度看,状态管理涉及临时存储数据和在需要时检索它们。在 J2EE 中,您可 以选择多个“存储位置”,每个位置具有它自己规则,这些规则控

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号