一个Web Bean是一个包含业务逻辑的应用类。一个Web Bean能够从Java代码中直接调用,也可以通过统一表达语言调用。一个Web Bean可以访问事务性的资源。Web Bean之间的依赖通过Web Bean管理器自动管理。大部分Web Bean是具有 状态和上下文的。Web Bean的生命周期总是通过Web Bean管理器进行管理。 让我们后退一步。"上下文"究竟意味着什么?既然Web Beans可以是有状态的,那它关系到我到底拥有哪个Bean实例。和无状态组件模型(例如无状态的会话Bean)或者一个单例模型组件(例如Servlet或者单例Bean)不同,一个Web Bean的不同客户端看到的Web Bean的状态是不同的。客户端 所见的状态取决于这个客户端拥有的是哪一个Web Bean实例的引用。 然而,Web Bean像无状态或者单例模型那样,却和有状态的会话Bean不同,客户端无法通过显式地创建或者销毁它来控制实例的生命周期。取而代之,Web Bean的范围决定了: 每个Web Bean实例的生命周期,以及 哪些客户端共享Web Bean特定实例的一个引用。 所见的状态取决于这个客户端拥有的是哪一个Web Bean实例的引用。 然而,Web Bean像无状态或者单例模型那样,却和有状态的会话Bean不同,客户端无法通过显式地创建或者销毁它来控制实例的生命周期。取而代之,Web Bean的范围决定了: 每个Web Bean实例的生命周期,以及 哪些客户端共享Web Bean特定实例的一个引用。