动态网站制作指南 [  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教程 ]的信息

本月文章推荐
.容易忽视的Java三用法小议.
.讲述在Java中Decorate的三种实现.
.使用jetty配置 开发web应用.
.JDeveloper 10g 预览版中使用 JS.
.一个记事本的源程序.
.Java.NET --一个基于Java的Mic.
.Java Applet程序设计基础.
.http断点续传简单实现.
.JAVA专业术语集.
.利用Stripes实现Java Web开发.
.Peer-to-Peer Sockets 工程入门.
.WebLogic树形结构的实现.
.基于JAVAMAIL包的邮件发送程序--.
.预装载以及JavaScript Image()对.
.深入探索CORBA对象生命周期之慨述.
.J2EE编程起步(2).
.JCreator Pro 3.0与WTK2.0配置心.
.初学者想学Hibernate,初级基础教.
.简单的 Java 循环控制实现行列式.
.使用Java 1.2的Authenticator 类.

EJB 3.0的三大类型详解

发表日期:2008-1-5 |



  无论你创建bean会话是为了执行特定任务,还是把表映射到实体bean以更新数据,都可以使用普通的Java对象和接口来完成这些工作,并且可以通过在业务方法中使用注释,把方法提供给客户端。

  Enterprise JavaBean (EJB) 是可重用的、可移植的 J2EE 组件。EJB 由封装业务逻辑的方法组成。譬如说,EJB 可能有这样的业务逻辑:包含了更新数据库中客户数据的方法。众多远程和本地客户端可以调用该方法。另外,EJB 在容器里面运行,这样开发人员只要关注bean里面的业务逻辑,不必担心复杂、轻易出错的问题,譬如事务支持、安全性和远程对象访问等。EJB 作为普通Java对象(POJO)的形式来开发,开发人员可以使用元数据注释(metadata annotations)来指定容器如何治理这些bean。

  EJB 包括三种主要类型:会话 bean、实体 bean和消息驱动的bean。会话bean执行独立的、解除耦合的任务,譬如检查客户的信用记录。实体bean是一个复杂的业务实体,它代表数据库中存在的业务对象。消息驱动的bean用于接收异步JMS 消息。下面,让我们进一步研究EJB 3.0规范中的这些类型。

  一、会话bean

  会话bean通常代表业务流程里面的操作,譬如“处理订单”。可根据对话状态的保持性,即有状态和无状态对会话bean进行分类。

  无状态的会话 bean没有内部状态。它们不跟踪记录从一个方法调用传递到另一个方法调用的信息。因此,每次调用无状态的业务方法都独立于前一次调用,譬如计算税款或者运费。用某个应税值调用计算税款的方法时,对税款值进行计算并返回给调用方法,而不必保存调用者的内部状态供以后调用。因为这些bean并不保持状态,所以容器对它们进行治理就很简单。客户端请求无状态的bean实例时,可以从容器保持的无状态的会话bean 实例池当中接收一个实例。另外,因为无状态的会话 bean可以共享,所以容器可保持数量较少的实例为许多客户端提供服务。想指定Java Bean作为无状态的会话bean加以部署及治理,只需要为该bean添加注释@Stateless。

  有状态的会话 bean在方法调用时可保持对话状态,譬如客户的网上购物车。客户开始网上购物时,可以从数据库中检索客户的具体信息。客户往购物车里面添加商品或者从里面删除商品、下订单等时调用的其他方法也可以使用这些具体信息。不过,有状态的会话bean是暂时性的,因为出现会话终止、系统崩溃或者网络故障后,状态不复存在。客户端请求有状态的会话bean实例时,就为该客户端分配一个有状态的实例,并为该客户端保持该组件的状态。要指定容器在某个方法完成后删除有状态的会话bean实例,只要为该方法添加注释@Remove。

  会话 bean示例如下:

import javax.ejb.Stateless.*;

/*A simple stateless session bean implementing the incrementValue() method of the * CalculateEJB interface.*/

@Stateless(name="CalculateEJB")

public class CalculateEJBBean

implements CalculateEJB

{

int value = 0;

public String incrementValue()

{

value++;

return "value incremented by 1";

}

}

  二、实体bean

  实体bean是治理持久性数据的一个对象,有可能使用几个相关的Java对象,并可以通过主键实现惟一性。通过添加@Entity注释,可以把某类指定为实体bean。实体bean代表数据库中的持久性数据,如客户表中的一行或者员工表中的一条员工记录。实体bean还可以在多个客户端之间共享。譬如说,某个员工实体bean可以由多个客户端用于计算某员工的年薪或者更新员工地址。实体bean对象的特定字段可以成为持久性字段。实体bean中没有被@Transient注释标记的所有字段都被视为持久性字段。EJB 3.0的一个主要特性就是,能够使用元数据注释来创建包含对象/关系映射的实体bean。譬如说,想指定把实体bean的empId字段映射到 Employees表中的EMPNO属性,就要使用@Table(name="Employees") 来注释表名,使用 @Column(name="EMPNO") 来注释字段,如下面的例子所示。另外,EJB 3.0 的一个特性是,在开发期间可以方便地测试实体bean,因为现在使用 Oracle 应用服务器实体测试工具,就可以在容器外面运行实体bean。

  实体 bean示例如下:

import javax.persistence.*;

import java.util.ArrayList;

import java.util.Collection;

@Entity

@Table(name = "EMPLOYEES")

public class Employee implements java.io.Serializable

{

 private int empId;

 private String eName;

 private double sal;

 @Id

 @Column(name="EMPNO", primaryKey=true)


上一篇:程序员应用EJB 3.0必要的准备 人气:376
下一篇:深入探究EJB应用技术的体系结构 人气:549
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-4 LPLY CMS 网站管理系统 v5.0
2008-9-4 缤纷互动视频交友 v3.01.902
2008-9-4 ADN视频收藏专家 v3.0 bulid 080
2008-9-4 天空网络电影系统SKYUC v2.5.6 简
2008-9-4 Web Wiz Rich Text Editor(文本编
2008-9-4 幻影动漫网视频系统(Ppdong) v1.
2008-9-4 乐维电脑在线DIY配置系统
2008-9-4 老樊文章管理系统SQL版
2008-9-4 ASP.NET 2.53 缩略图水印组件源码
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵