[color=brown][b]SessionBean(会话Bean):[/b][/color]可以执行业务逻辑操作,比如注册用户,订单登记,数据库操作
[b]1.Stateful Session Bean[/b]
即EJB能够为同一个客户端在多次请求(方法调用)之间保持状态信息。
比如:基于某种原因(可能是因为系统要支持多种不同类型的客户端),购物篮功能作为系统的核心业务,需要由EJB对象来担当(而不是由HttpSession对象)。那么EJB必须能够区分不同的客户端,并分别为不同的客户端保持与其对应的状态信息。
从某个客户端的角度来看,似乎EJB对象正被它独占了一样,不会因为有任何其他的客户端同时对同一EJB访问而影响其最终的计算结果。
[b]2.Stateless Session Bean(用单例的方式实现-Singleton)[/b]
并非说EJB不能存在状态,而是说EJB容器不会对EJB的状态做管理。
容器会使用实例池的方式,甚至单例的方式来实现无状态的SessionBean。
因为EJB容器不会对Stateless SessionBean的状态进行管理,所以它的性能要比StatefulSessionBean的好
[b]1.Stateful Session Bean[/b]
即EJB能够为同一个客户端在多次请求(方法调用)之间保持状态信息。
比如:基于某种原因(可能是因为系统要支持多种不同类型的客户端),购物篮功能作为系统的核心业务,需要由EJB对象来担当(而不是由HttpSession对象)。那么EJB必须能够区分不同的客户端,并分别为不同的客户端保持与其对应的状态信息。
从某个客户端的角度来看,似乎EJB对象正被它独占了一样,不会因为有任何其他的客户端同时对同一EJB访问而影响其最终的计算结果。
[b]2.Stateless Session Bean(用单例的方式实现-Singleton)[/b]
并非说EJB不能存在状态,而是说EJB容器不会对EJB的状态做管理。
容器会使用实例池的方式,甚至单例的方式来实现无状态的SessionBean。
因为EJB容器不会对Stateless SessionBean的状态进行管理,所以它的性能要比StatefulSessionBean的好