zoukankan      html  css  js  c++  java
  • EJB(二)图示EJB的"helloworld"

    前序


        既然是菜菜的ejb,那么第二篇就是讲解如何来编写ejbhelloword了。helloworld是再熟悉也不过了,通过这样一个实例来熟悉和简单了解ejb程序从编写到部署和调用的简单过程。


    开发环境


    Jboss 5.0 GA版:http://jbossas.jboss.org/downloads.html

    Myeclipse 10.0:http://www.myeclipseide.cn/

    Jdk 1.6 :http://www.oracle.com/technetwork/java/javase/downloads/index.html


    步骤

    配置jboss环境


         当然如果用的是MyEclipse的话可以直接跳过这步即可;如果是纯净不带插件的eclipse,则需要配置相应的jboss-tools来配置jboss环境了。



    Jboss toolshttp://tools.jboss.org/downloads/jbosstools/luna/4.2.0.Final.html#zips


    jboss tools官网了提供了4种有关这个插件安装的方式(米国人民真是没的说啊).我用的是install new software ,将下面的链接键入即可。


    http://download.jboss.org/jbosstools/updates/stable/luna/


    最后在如下界面看到相应的sever即可。

     



    配置jre 


    直接在jboss 下面的jdk,配置到jdk的根目录即可。

     

    新建ejb project


    配置完毕jrejboss,新建ejb project

     

    1.新建ejb project




    目录结构说明:如上图中生成的目录结构中,ejbModule目录是编写JAVA源码的目录(即EJB代码);

    build:则为编译后生成的文件;

    JRE System Library、Java EE x Libraries:相应的运行环境。


    EJBbean


    对于bean,简单来理解就是一个带有业务逻辑处理的java类。而ejbbean就可以这样来理解,针对企业级开发的java类。首先来从大面上将这些概念给解决掉,后面在具体根据细节来探讨。


    这里主要编写的是EJBbean,书写业务颗粒。

     

    接口


    code

    package com.cfl.ejb;
    
    
    public interface FirstEJB {
    	public String sayHello(String str);
    }
    


    注:就是一个简单的接口,定义了一个用来输出字符串的方法。


    实现

    代码


    package com.cfl.ejb;
    
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    
    @Stateless
    @Remote
    public class FirstEJBBean implements FirstEJB {
    
    	public String sayHello(String str) {
    		// TODO Auto-generated method stub
    		return str;
    	}
    }
    


    注:一个再简单不过的实现


    注解


    定义ejb的种类和访问方式。

     

    部署到jboss服务器


    将相应的项目发布到jboss项目下即可


    注意:ejb命名特殊符号,因为jboss对于ejb的命名很敏感。

     

    客户端


    查找ejb


    代码

    package com.cfl.ejbclient;
    
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    
    import com.cfl.ejb.FirstEJB;
    
    
    
    
    public class ejbclient {
    	public static  void main(String[] args){
    		
    		try {
    			InitialContext context =new InitialContext();
    			FirstEJB firstEjb=(FirstEJB)context.lookup("FirstEJBBean/remote");
    			String s=firstEjb.sayHello("helloworld");
    			System.out.print(s);
    		} catch (NamingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} 
    		
    	}
    }
    


    其实context类似在之前抽象工厂,其实也就是抽象工厂模式的体现。来利用反射得到相应的类的实例。


    Jndi.properties


            这里先不对sun的四种jndi进行分析,先知道这个是用来去查找相应的bean即可。

    定义相应的jndi,生成jndi.properties,放在客户端的src的根目录下面。

    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
    java.naming.provider.url=localhost
    


    Jar放到jre环境中


    打包jar


    将生成的jar文件放到客户端的jre libraries里面



    引入jboss clientjar


    添加user libraries



    导入jars


     


    后序


        相当于一个简单的流程式的讲解,简单的通过的流程来感受一下ejb的使用。当然这里肯定是无法体味到ejb作为j2ee的核心这样一个用处的,后面继续。

  • 相关阅读:
    9.6、Libgdx之罗盘
    9.5、Libgdx加速度计
    9.4、Libgdx简单字符输入
    9.3、Libgdx手势检测
    9.2.2、Libgdx的输入处理之事件处理
    9.2.1、Libgdx的输入处理之轮询
    基于ip的虚拟主机配置——在一台服务器上绑定多个 IP 地址
    解决Nginx出现403 forbidden
    SpringMVC中JSONP的基本使用
    centOS7 tomcat 开机自启 自启动设置
  • 原文地址:https://www.cnblogs.com/guziming/p/4232666.html
Copyright © 2011-2022 走看看