JBoss下的EJB3開發無狀態會話Bean

發表于:2008-02-21來源:作者:點擊數: 標簽:EJB3開發
1、 開發 一個具有Remote和Local接口的EJB3 Stateless SessionBean. Remote接口:RemoteHelloWorld. java Local接口:LocalHelloWorld.java SessionBean:HelloWorldBean.java JNDI配置:jndi.properites JSP:hello.jsp package com.yourcompany.ejb3; public
 1、開發一個具有Remote和Local接口的EJB3 Stateless SessionBean.
  
    Remote接口:RemoteHelloWorld.java
    Local接口:LocalHelloWorld.java
    SessionBean:HelloWorldBean.java
    JNDI配置:jndi.properites
    JSP:hello.jsp

    package com.yourcompany.ejb3;
    public interface RemoteHelloWorld{
       public String Say(String name);
    }

    package com.yourcompany.ejb3;
    public interface LocalHelloWorld{
       public String Say(String name);
    }

    package com.yourcompany.ejb3;
    import javax.ejb.Stateless;
    import javax.ejb.Remote;
    import javax.ejb.Local;
    import com.yourcompany.ejb3.RemoteHelloWorld;
    import com.yourcompany.ejb3.LocalHelloWorld;

    @Remote({RemoteHelloWorld.class})
    //注釋表示RemoteHelloWorld為這個SessionBean的Remote接口
    @Local({RemoteHelloWorld.class})
    //注釋表示LocalHelloWorld為這個SessionBean的Local接口

    //@Stateless注釋表示這是一個無狀態會話Bean
    public @Stateless class HelloWorldBean implements RemoteHelloWorld,LocalHelloWorld{
        public String Say(String name){
           return "這是一個無狀態的EJB3會話BEAN,作者:"+name;
        }
    }
    //JNDI配置告訴了你的客戶端初始化jndi naming service
    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:1099

    JSP中調用代碼如下:
    <%
        Properties prop=new Properties();
        prop.load(Thread.currentThread().getContextClassLoader().getResourceAsStream    ("jndi.properties"));
        InitialContext ctx=new InitialContext(prop);
        RemoteHelloWorld remotehelloworld=(RemoteHelloWorld)ctx.lookup    ("HelloWorldBean/remote");
        remotehelloworld.Say("Christina007[remote]");
        LocalHelloWorld localhelloworld=(LocalHelloWorld)ctx.lookup    ("HelloWorldBean/local");
        localhelloworld.Say("Christina007[local]");
    %>
   

    運行結果:


    這是一個無狀態的EJB3會話BEAN,作者:Christina007[remote]

    這是一個無狀態的EJB3會話BEAN,作者:Christina007[local]


    總結步驟:


    1.先寫好了SessionBean的業務邏輯接口
    2.再寫SessionBean,記得在SessionBean實現了業務邏輯接口

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97