JAVA必备——EJB,通向大型软件的路!



        从接触java开始,就对java的标准,神交已久,今天先给大家简单介绍下,什么事ejb,然后咱们一起完成一个小例子,完成对ejb的熟悉过程,在这其间一起体会ejb带给我们的编码变化!


简介(来自百度):

        EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

实例:



1,安装jboss服务器:iis

        (1)从官网下载安装包(绿色)
        (2)解压到指定文件夹
        (3)配置MyEclipse
                在工具栏的windows下选择preferences…



        2,新建ejb项目:

                (1)在工具栏上选择file->new->EJB Project


                


                (2)在src下建立实体,接口和接口的实现:


                            


                代码附加在附件二中!

        (3)发布到jboss上

                在Server选项夹上右键 -> add deployment -> project -> 选择自己的ejb项目 -> finish -> 单击启动按钮 


                        



        (4)编写客户端:


                (4.1)加入服务端的接口及必备jar包

                          


                (4.2)编写代码:

                          编写包含Main函数的类:在服务端运行

                           具体参看附件二内容

        (5)编写JNDI配置文件:为了让程序找到(第一次使用,跟着做就行,以后肯定会仔细研究)

                  具体参看附件一。

        (6)运行结果显示为:0



总结:

        今天我们初识了ejb这个神交已久的老朋友,感觉使用起来还是很方便的,简单写写接口和实现,配置下文件,我们就可以远程调用某个接口,这个和我们编写C#代码有了很多神似的地方,我们在编写c#代码时,分层的学习是个重要的切入点,而ejb就是对分布式进行了分层,我们不太关心具体的分布式是怎么实现的,我们仅关心,他好用,好上手,让用户感觉简单,这就足够了!

        还是那句话,在生活中,我们不乏这样的例子,所有有前台的店面或者商场就是这样,他对一个复杂的业务进行封装,比如我们的移动营业厅,具体的业务操作交给营业员,而我们只需提出要求就好!



附件一(配置文件):


名称为jndi.properties
内容为:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost



附件二(代码):


1.EJB服务端代码区:


1.1实体类:


package com.ejb.test;import java.io.Serializable;/*** * @author 许恕* 用户实体**/
public class User implements Serializable {//用户idprivate int id;//用户姓名private String userName;//用户密码private String passWord;//获取用户idpublic int getId() {return id;}//设置用户idpublic void setId(int id) {this.id = id;}//获取用户姓名public String getUserName() {return userName;}//设置用户姓名public void setUserName(String userName) {this.userName = userName;}//获取用户密码public String getPassWord() {return passWord;}//设置用户密码public void setPassWord(String passWord) {this.passWord = passWord;}
}



1.2接口类:


package com.ejb.test;/*** * @author 许恕*管理用户接口*/
public interface IUserManger {//增加用户public void addUser(User user);
}



1.3实现类:


package com.ejb.test;import javax.ejb.Remote;
import javax.ejb.Stateless;@Stateless 	
@Remote		
public class UserMangerRemoteBean implements IUserManger {//增加用户public void addUser(User user) {System.out.println("user is saved , and user.name={"+user.getUserName()+"}");user.setId(10);}}



2.客户端代码:


package com.ejb.test3;import javax.naming.InitialContext;import com.ejb.test.IUserManger;
import com.ejb.test.User;public class UserManagerClient {/*** @param args*/public static void main(String[] args) throws Exception {InitialContext context =new InitialContext();//第一次会话-远程IUserManger ejbRemote =  (IUserManger)context.lookup("UserMangerRemoteBean/remote");User user = new User();user.setUserName("huangjin");ejbRemote.addUser(user);System.out.println(user.getId());}}





本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部