我需要一些澄清.我知道如何使用JSF及其相应的会话bean,但我对EJB感到困惑.使用EJB引入的bean和与JSF一起使用的会话bean有什么区别(对于ejb,我知道无状态/全会话bean和实体bean,实体管理器等).什么我不知道什么时候使用EJB和何时使用jsf bean.除了实体bean,ejb状态/少会话bean似乎与jsf会话bean类似.我已经读过关于注入ejb的jsf,但为什么不使用ejb与jsf bean结合?我希望你能理解我的困惑.谢谢.
解决方法
Java EE中不同类型的受管Bean确实存在一些混乱.为了增加混淆,Java EE 6引入了第三种托管bean:CDI bean.
在这个答案中,我尝试解释一下差异和相似之处:How do CDI and EJB compare? interact?
简单地说,JSF管理的bean主要不提供对事务的支持,这是在处理业务逻辑,特别是JPA时经常需要的.
还要注意的是,会话范围中的术语会话受管Bean是与无状态和状态会话bean所指的术语完全不同的会话.