动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.XML 和 Java:一个强大的组合.
.使用EJB 3.0简化企业级Java开发一.
.用Java快速开发Linux GUI应用.
.Java技巧:简化JDBC的开发.
.如何配置Java Server Page运行环.
.将数字字符串转换成大写金额字符.
.开源嵌入式数据库-Perst 发.
.Eclipse插件开发快速入门.
.直接召唤系与IoC fashion使.
.Java 技术在嵌入式系统中的应用详.
.调整JavaTM 的I/O性能(二)(zt).
.精通必学:Eclipse快捷键指南.
.new 运算符.
.基础篇:循环.
.线程池与工作队列.
.我的Java矢量软件之路3--想象篇.
.提升Java桌面客户端程序性能问答.
.java截获标准输出.
.Hibernate的一对一关系.
.用Java编程获得本机和服务器IP地.

EJB技术的数据库应用(1)

发表日期:2008-1-5 |


一、J2EE 技术简介

J2EE是 SUN 公司提出的在分布式环境中的一种体系结构,它提供了一种基于组件的设计、开发、集成、部署企业应用系统的方法,J2EE平台提供了多层分布式的应用系统模型、重用组件的能力、统一的安全模型和灵活的事务控制。基于组件的J2EE企业应用系统具有平台独立性,所以不受任何软件产品和任何软件厂家API的约束。

J2EE定义了下面的组件:

·application client 和 applets 是客户层组件;

·Java Servlet 和 jsp 组件是WEB 层组件;

·Enterprise JavaBean(EJB) 组件是业务处理层组件。

EJB 技术是J2EE 体系一部分,EJB 组件是用 Java 语言编写的,是可以被客户端程序存取的可重用的服务器端组件,它运行在J2EE 服务器上,在客户/服务器系统中,EJB 提供类似于中间件的服务。

J2EE 服务器提供给用系统系统级的服务,像事务治理、安全治理、数据库存取等,开发人员不必自己开发系统级服务,所以可以集中精力开发应用系统中的业务逻辑处理;用EJB 组件处理业务逻辑。

二、EJB 组件简介

EJB 组件分为两类:Sesson bean 和 Entity bean

Sesson bean 代表 J2EE 服务器的客户端,客户端通过调用 Sesson bean 的功能和J2EE 服务器通信,Sesson bean 和客户会话,可以认为是客户端的扩展,例如:网上帐务系统的客户可以调用 Sesson bean 的"输入存款单"的功能来存入现金等。每一个Sesson bean 只能有一个客户,当客户终止时,与之相应的Sesson bean 也终止。因此Sesson bean 是暂时的,不可持久的。

Entity bean 代表业务处理对象,它存储在持久的存贮机制如数据库中,例如,一个Entity bean 代表一个帐户存单,它是存储在关系数据库中存单表的一行。Entity bean 的信息不一定存储在关系数据库中,它也可以存储在对象数据库中、文件中或其他别的存储机制中( 本例子中用关系数据库)。

Entity bean 可以被多个客户端共享。由于多个客户端可能改变相同的数据,所以Entity bean 在事务治理下工作是很重要的。通常情况下,EJB 容器提供事务治理。开发人员可以在组件的部署描述文件中指定事务的属性。每一个Entity bean 都有一个唯一的对象标识符,也叫主键,这个主键可以让客户端定位一个Entity bean。

Entity bean 的持久性可以被 Entity bean 自己治理,也可以让 EJB 容器治理,Entity bean自己治理要求开发人员在Entity bean中提供数据存取代码。例如客户的Entity bean要调用 SQL 语句来通过 JDBC 存取关系数据库。EJB 容器治理Entity bean持久性意味着 EJB容器自动处理数据存取的调用。

两种类型的EJB 组件(Session bean 和 Entity beans)都可以存取数据库。选择哪一类 EJB 组件来存取数据库依靠于具体的应用系统。

下面的情况可以在 Session bean 组件中调用 SQL 语句来存取数据库:

· 应用系统相对简单。

· SQL 语句返回的数据不能被多个客户端共享使用。

· 数据不代表一个业务实体。

下面的情况要用Entity beans 组件:

· 超过一个客户端使用数据库调用返回的数据。

· 数据代表一个业务实体。

· 开发者想从 Sesson bean 中隐藏关系模型。

EJB 结构的这种灵活性可以让开发人员用不同的方法来开发应用系统。

三、建立数据库连接

EJB 容器维护数据库的连接池,这个连接池对 EJB 组件来说是透明的。当EJB 组件申请一个连接时,EJB 容器从连接池中提取一个连接并分配给组件。由于EJB 容器只是分配一个连接给 EJB 组件,所以组件很快就获得这个连接并连接数据库。数据库调用之后,组件就可以释放连接,这样它又可以快速申请到另一个连接。又因为一个组件只占用这个连接很短的时间,从而同一个连接可以被多个组件使用。

组件不是通过数据库的绝对名来连接数据库,而是用逻辑名连接到数据库, 即用 JNDI lookup 来获得数据库连接,例如:在下面例子中的AccountEJB 类中,连接数据库有以下几个步骤:

1、指定数据库的逻辑名:

private String dbName = "java:comp/env/jdbc/AccountDB";

2、获得数据源:

InitialContext ic = new InitialContext();

DataSource ds = (DataSource) ic.lookup(dbName);

3、从数据源得到数据库连接:

Connection con = ds.getConnection();


上一篇:EJB 异常处理的最佳做法(2) 人气:520
下一篇:EJB核心技术及其应用(2) 人气:683
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 HDWiki v4.0.1 bulid 081007 UTF
2008-10-7 迅易评选投票管理系统 v10.0
2008-10-7 HDWiki v4.0.1 bulid 081007 GBK
2008-10-7 Bitrac单用户博客 v1.14 bulid 0
2008-10-7 OpenX(广告管理系统) v2.6.2 多国
2008-10-7 乐铺网店系统免费普及版 v3.41
2008-9-29 酷狗音乐(原KuGoo)2008 v5.310 正
2008-9-29 QQTab 1.1
2008-9-29 网络传送带 Net Transport 2.64a
2008-9-29 谷歌金山词霸v1.8
2008-9-29 TweakVI 1.0 Build 1090
2008-9-29 ACDSee Pro 2.5 Build 333 汉化绿
2008-9-29 Winamp v5.541(2189) 周明波简体
2008-9-27 CCleaner 2.12.651
2008-9-27 Mozilla Thunderbird 2.0.0.17 英
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号