扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
import java.sql.*; public class JDBCExample...{ public static void main( String args[] ) ...{ try...{ Class.forName("COM.cloudscape.core.JDBCDriver"); Connection conn = DriverManager.getConnection("jdbc:cloudscape:PhoneBook"); Statement stmt = conn.createStatement(); String sql = "SELECT name, phone FROM CONTACT_TABLE ORDER BYname"; ResultSet resultSet = stmt.executeQuery( sql ); String name; String phone; while ( resultSet.next() ) ...{ name = resultSet.getString(1).trim(); phone = resultSet.getString(2).trim(); System.out.println( name + ", " + phone ); }catch ( Exception e ) ...{// Handle exception heree.printStackTrace(); } } } |
OK。接着来看一看JDBC是如何在企业应用中的进行使用。
JDBC在企业级应用中的应用。以上实例其实是很基本的,可能有些微不足道。它假定了一个2层结构。在一个多层的企业级应用中,更大的可能是在客户端和一个EJB进行通信,该EJB将建立数据库连接。为了实现和改进可伸缩性和系统性能, WebLogic服务器提供了对连接缓冲池connection pool的支持。
Connection pool减少了建立和释放数据库连接的消耗。在系统启动以后即可建立这样的缓冲池,此后如故再有对数据库的请求,WebLogic服务器可以很简单地从缓冲池中取出数据。数据缓冲池可以在WebLogic服务器的 weblogic.properties 文件中进行定义。
在企业级应用的另一个常见的数据库特性是事务处理。事务是一组申明statement,它们必须做为同一个statement来处理以保证数据完整性。缺省情况下JDBC使用 auto-commit 事务模式。这可以通过使用Connection类的setAutoCommit() 方法来实现。现在已经对JDBC有了一些认识,下面该转向JNDI了。
Java Naming and Directory Interface (JNDI)
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,后者在应用服务器中的对象。在JNDI中,在目录结构中的每一个结点称为context。每一个JNDI名字都是相对于context的。这里没有绝对名字的概念存在。对一个应用来说,它可以通过使用 InitialContext 类来得到其第一个context:
Context ctx = new InitialContext(); |
MyEJBHome home = ctx.lookup( "myApp.myEJB" ); |
在这个例子中,一旦你有了对被请求对象的参考,EJB的home接口就可以在它上面调用方法。我们将在下面的"Enterprise Java Beans"章节中做更多的介绍。
以上关于JNDI的讨论只是冰山之一角而已。如果要更进一步地在context中查找对象,JNDI也提供了一些方法来进行以下操作:将一个对象插入或绑定到context。这在你展开一个EJB的时候是很有效的。从context中移去对象。列出context中的所有对象。创建或删除子一级的context。接下来,要开始关注EJB了。
Enterprise Java Beans (EJB)
J2EE技术之所以赢得某体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。
EJB规范定义了三种基本的bean类型:
尽管有以上的区别,所有的EJB还是有许多的共同之处。它们都处理homeinterface。它定义了一个客户端是如何创建与消亡EJB的。可以在bean中对定义了客户端方法的远程接口进行调用;bean类则执行了主要的商务逻辑。描述EJB的开发已经超出了本文的范围。但是,如果一个EJB已经被开发了或者从第三方进行了购买,它就必须在应用服务器中进行发布。WebLogic Server 5.1带有一个EJB Deployer Tool来协助处理EJB的发布。当你使用EJB Deployer Tool的时候,你要定义客户端所用的JNDI名字来定位EJB。Deployer Tool将生成wrapper类来处理和容器的通信以及在一个jar文件中把被请求的Java类绑定在一起。
一旦EJB被发布,客户端就可以使用它的JNDI名字来定位EJB。首先,它必须得到一个到home接口的reference。然后,客户端可以使用该接口,调用一个create() 方法来得到服务器上运行的某个bean实例的句柄;最后,客户端可以使用该句柄在bean中调用方法。了解 EJB后,让我们再来看JSP。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者