分类: Java
2010-04-19 11:17:15
EJB容器可以接受三类EJB
1.session bean的本质就是用来处理会话,所以处理用户的会话它当然优于enty bean
2.由于它的本质,它可以跟踪客户信息,这些是enty bean 很难做到的,也没有必要.
3.从分层的关系来说,session bean主要工作于业务逻辑层,而enty bean则接近于数据层,设计者的意图就是把操作与数据通过session bean 和 enty bean 分离开来拉
1、分离客户,服务层,既解偶。
2、减少客户网络调用次数,即减少网络流量。
3、包装实体BEAN异常,而非显示给客户端。
JavaBeans是描述Java的软件组件模型,这个模型设计出的Java组件,可以供第三方厂家集成到其他开发人员的软件产品中。应用程序开发者可以从厂家购买现成的组件,拖放到开发者工具容器中,对组件进行必要的修改、测试和修订以适应用户的要求。在Java模型中,组件可以修改或与其他组建组合以生成新组件或完整的应用程序。许多组件代表一个用户接口的可见部分,组件也可以表示一个程序中的非可视元素,例如定时器和数据库等。
从组件用户的角度看,组件是一个可用于特定目的的自主式的非常专门的对象。可以在一个Jsp或者应用程序中使用多次,并在多个位置使用。组件的实现方法对于用户来说是透明的,他只需了解使用的接口即可。
从组件编写者的角度看,只要适合JavaBeans规范,组件可以是用代码创建完成的任何功能的模块。组件编写者只要了解Bean的接口,而无需关心用户如何使用,也就是无需了解应用层的逻辑。
编写JavaBean组件的方法同编写其他Java类一样。在最简单的层次上看,JavaBean组件是符合JavaBean组件模型的任何Java类。JavaBean有如下特征:
1.它是一个公共(public)类;
2.它有一个公共的(public)无参数的构造器;
3.它有正确构造了存取其方法的属性;
4.它可以被定制,因此用户可以修改组建的外观和行为;
5.它修改的状态能够通过串行化(serialization)保存。
组件(JavaBeans)一般具有公共(public)属性、方法与事件,组件用户可以使用设置属性、调用方法等。
1.JavaBeans组件属性
JavaBeans的属性与一般Java面向对象程序中对象的属性是一个概念,具体体现为类中的变量。简单属性表示一个具有一对get/set方法的变量,方法的名称要和该属性名相对应。例如下面是一个简单的人员类,它的属性都属于简单属性。
public class Employee implements Serializable
{
public Employee()
{
}
private String empID;
private String empName;
private String empPwd;
private String empDepID;
private String empDegID;
//获得EmpID
public String getEmpID()
{
return empID;
}
//设置EmpID
public void setEmpID(String id)
{
this.empID = id;
}
//以下都是都属性的get/set
public String getName()
{
return empName;
}
public void setName(String name)
{
this.empName = name;
}
public String getPassword()
{
return empPwd;
}
public void setPassword(String pwd)
{
this.empPwd = pwd;
}
public String getDepID()
{
return empDepID;
}
public void setDepID(String depid)
{
this.empDepID = depid;
}
public String getDegID()
{
return empDegID;
}
public void setDegID(String degid)
{
this.empDegID = degid;
}
public static void main(String[] args)
{
Employee employee1 = new Employee();
}
}
2.JavaBeans组件方法
组件方法(methods)封装了组件的行为,它们是可以从其他的组件、Jsp或应用程序调用的标准Java方法。对组件方法能够做什么,很少有限制,可以实现组件对象的任何方法。对于方法的设计应尽量做到直观,以使方法的目的很明显。在方法使用上要避免先决条件,如果必须在方法调用上有先决条件,那么要加入测试来验证条件满足,并提供对于方法调用不恰当情况的异常处理。
在方法命名是要注意,为了使组件容易使用,应选择较短的描述性名词。还要注意方法是动作,名字要以动词开头。例如一个人员管理JavaBean EmployeeMgr的获得员工的ID的方法命名为getEmployeeByID(String id)
3.JavaBeans组件事件
Events允许组件在运行时从用户接收输入和反馈。它们用事件监听器(Listener)编写的代码连接组件中发生的事情(例如鼠标操作、按键等)。JavaBeans规范定义允许组件在一个程序中生成事件,并对事件作出反应。生成事件的组件是一个source(源)组件,对事件发生作出反应的组件是一个监听器(Listener)。