EJB:会话Bean(实现会话中的业务逻辑)和实体Bean(实现一个业务实体);
会话Bean分为有状态(实例始终与一个特定客户关联,实例变量可维护特定客户的状态)和无状态。
1、TIPS
(1)web客户——>web容器(web应用)——EJB容器(EJB组件)——>DB
JavaEE应用服务器包括web容器和EJB容器。
(2)application client——>EJB——>DB
web客户端——>JavaEE服务器(包括web层和业务层,其中EJB表示业务层)——>DB
(3)一个EJB至少包括3个java文件:Remote接口(声明客户程序可调用的业务方法)、Home接口(定义创建、查找和删除EJB方法)、Enterprise Bean类(实现远程接口中定义的业务方法)。
当EJB容器创建一个EJB实例时,会调用Enterprise Java Bean类的ejbCreate()方法,通过OJB中间件创建与数据库的连接。
2、PS
(1)在web应用中访问EJB组件:
EJB组件运行在EJB容器中,是一种JNDI资源。在web应用中,首先查找JNDI资源,获得该资源的引用。
(2)JavaEE是多层次的分布式的软件体系结构。
一个JavaEE应用由EJB组件、web应用以及发布描述文件构成。即
JavaEE应用
EJB组件(.jar文件) web应用(.war文件) META-INF目录\application.xml
其中application.xml是JavaEE应用的发布描述文件,声明JavaEE应用所包含的web应用以及EJB组件。
一个EJB组件由类文件和EJB的发布描述文件构成。即
EJB组件
类文件 META-INF目录\ejb-jar.xml和jboss.xml
其中ejb-jar.xml是EJB组件的发布描述文件,定义EJB组件的类型,指定它的Remote接口、Home接口和Enterprise Bean类对应的类文件。
jboss.xml:当EJB组件发布到JBOSS服务器时才须提供的发布描述文件。在此文件中为EJB组件指定JNDI名字。
(3)