各位好,很多人还不知道怎么用ejb(怎么写je)。下面详细解释一下。现在让我们来看看!
如果想了解ejb的原理,可以参考j2eeWithOutEjb和EjbHeadFirst这两本书,应该对Ejb的流程比较清楚。
首先,我们要明确EJB是一个服务器端组件。
有三种EJB。
1.会话bean在处理业务逻辑方面很复杂。
2.EntityBean处理数据
3.消息Bean的异步和耦合处理。
那么谁能给EJB打电话呢?或者谁打电话给EJB?假设它是一个放在服务器上可以远程调用的javaBean。所以可以被Java语言servlet,jsp等调用。好的。而且也可以用C++语言调用。很厉害。EJB最基本的出发点是提升Java在服务器端的编程能力。所以它的功能对我个人来说太强了..==
这个远程调用是通过什么实现的?Java是通过RMI-JRMP(java远程方法调用)协议调用的。EJB就是通过这一点实现的。C++通过Corba-iiop协议调用。这个协议支持两端不同语言的调用。Corba是公共对象请求代理服务,iiop是网络内部对象协议。
下面简单说一下这个分布式调用。当客户端向服务器发送请求时,它首先被发送到存根代理类,存根代理类将参数发送到骨架委托类,然后这个类调用我们的实现类来获取结果,然后在远处返回。这样的分发过程就完成了。后面会具体结合代码分析。先记住这个大致结构就好了。
写EJB需要做什么样的工作?
1,写一个接口继承类EJBObject作为远程接口。
2.写一个接口继承EJBHome。这个类中的一个方法是create(),它返回接口类型。
3.编写一个继承SessionBean的Bean。这个类包含一个create()方法和一个business方法。
4.写一个ejb-jar.xml.这个xml就是把上面三个记录组组合起来。
5.写一个weblogic-ejb-jar.xml,用来连接和查找源码。
以上两个xml文件需要放在META-INF目录中。所有这些类都需要打包到一个jar文件中,然后部署到服务器中。这就完成了EJB的部署。例如:
取决于您的ejb版本:
如果您使用jee6(ejb3.1),那么您运行jboss6/7,ejb可以打包在。war文件并部署在web模块中。
如果您使用jee5(ejb3.0)或j2ee(ejb2.x),那么您运行jboss5.x/4.x,ejb通常封装在.ear文件中,作为ejb模块。您的web应用程序将被打包在。ear文件,并打包成一个web模块。这些信息需要在文件“META-INF/application.xml”中定义,并打包在。ear档案也是如此。
无论您使用什么ejb版本或jboss,将EJB打包成.ear文件中的EJB模块都是有效的。您可能需要在网上搜索一个打包示例。
1.更多的是孙公司提出的概念。毕竟java是sun公司的。现在老板告诉你晚饭怎么吃,衣服怎么穿。EJB的出现意味着老板告诉你如何使用J2EE。
2.当然,你可以完全抛弃EJB的概念,你可以用任何你想要的方式使用J2EE。但绝对是智慧的结晶,而孙公司在思想上一直领先世界,这就是特色。
3.EJB需求:可伸缩性、分布式、事务性、数据存储和安全性。他要求你做这些事情,有相应的jar包或者例子让你学习搭建平台。
4:想做什么很难回答。你说刀子能做什么?切水果,切绳子,敲盖子,杀虫子。你想怎么用就怎么用。EJB用于构建服务器应用程序,它主要处理逻辑和数据存储。如果你不考虑性能或方便,你可以用EJB做任何事情。
EJB是sun的服务器端组件模型,它最大的用途是部署分布式应用程序。当然,有很多方法可以实现分布式应用,类似于微软的。net技术。
借助java跨平台的优势,EJB技术部署的分布式系统可以不受特定平台的限制。EJB(EnterpriseJavaBean)是J2EE的一部分,它定义了开发基于组件的企业多应用程序的标准。
其功能包括网络服务支持和核心开发工具(SDK)。在J2EE,企业JavaBean(EJB)被称为Java企业Bean,是Java的核心代码。它们是会话Bean(实体BeanBean(消息驱动Bean。
1.将数据库映射到Java类公共类tb1实现serializable{privatestringf1@id//表示f1是表的主键,公共字符串getf1(){returnf1;}publicvoidsetF1(整数f1){this.f1=f1;}}2.编写接口publicinterfacetb1Dao{publicvoidinserttb1(strings1);}3.写一个类实现接口中的方法:@Stateless//means无状态会话bean@remote({tb1dao.class})公共类tb1daobean实现者tb1dao{@persistencecontext//定义上下文持久性EntityManagerempublicvoidinsertTb1(StringS1){Tb1Tb1=newTb1();tb1.setf1(S1);em.persist(tb1);}}到目前为止,实现了在数据库中插入一条数据是S1;4.客户端:1)编写一个jndi.properties(固定编写)#JBossJNDIJava.naming.factory.initial=org.jnp.interfaces..naming.factory.URL.pkgs=org.JBoss.namingJava.naming.provider.URL=jnp://Localhost:10992)写一个方法测试publicstaticvoidmain(string[]args){contextcontext=newinitialcontext();TB1Daotb1=(TB1Dao)context.lookup("TB1Daobean/remote");tb1.inserttb1("S1");}。
EJB的一个技术规范:技术上,EJB不是产品EJB,EJB是描述构建应用组件需要解决的问题的标准:可伸缩、分布式、事务性、持久化、安全)EJB期望提供一个标准的分布式、基于OO的组件架构,屏蔽复杂的系统级功能需求Writeonce,runanywhere与非Java应用之间的互操作性兼容CORBA标准EJB。选择EJBEJB服务器完成复杂的工作:应用开发人员专注于业务逻辑的实现而不是底层的实现机制(类似于4GL语言设计的目标),支持事务处理。多个业务操作同时成功,或者所有的失败都可以通过代码外的描述来定义。EJB可扩展性EJB可以根据应用程序的增长进行扩展。EJB服务器通常提供负载平衡安全性:EJB服务器提供的资源访问权限控制EJB组件体系结构。为了满足架构的目标,规范描述了类和实例)主服务器容器。客户端)EJB编程模型专注于业务逻辑的实现:EJB负责生命周期、数据存储(持久化)、事务语义、安全,。
通用编程模型:Java,各种服务的高级API,是其编程语言EJB(businesslogiccode),代表适合特定业务领域(如银行、零售等行业)的逻辑。
以上解释了ejb的使用(如何写je)。这篇文章已经分享到这里了。希望能帮到大家。