现在的位置: 首页 > 综合 > 正文

Myeclipse8.6+jboss5.0开发ejb3.0教程

2013年05月22日 ⁄ 综合 ⁄ 共 1580字 ⁄ 字号 评论关闭

1.      新建EJB项目EjbService,即 new---->EjbProject---->

由于本例子中不需要用到EntityBean,所以把Add support for beans(add JPA capabilities)的勾去掉,再点Finish。

2.      新建一个HelloWorld接口,代码如下:

 package org.ejb;

import javax.ejb.Remote;

@Remote

public
interface
HelloWorld{

          public String sayHello(String name);

}

3.      新建一个HelloWorldBean类,代码如下:

4. package org.ejb;

 

import javax.ejb.Stateless;

@Stateless

public
class
HelloWorldBean implements HelloWorld{

public StringsayHello(String name) {

        return name+":hello World!";

  }

}

5.      将项目部署到jboss中,并启动jboss,控制台会输出有如下文字:

22:46:33,105 INFO  [JBossASKernel] jndi:HelloWorldBean/remote-org.ejb.HelloWorld

22:46:33,105 INFO  [JBossASKernel] jndi:HelloWorldBean/remote

说明HelloWorldBean已绑定到jndi的HelloWorldBean/remote上了,以后只要访问名字HelloWorldBean/remote就可以访问到HelloWorldBean资源

6.      编写客户端来访问资源

新建一个Client的web project,在index.jsp中加入如下代码

<body>

    <%

       Properties props = new Properties();

       props.setProperty("java.naming.factory.initial",

              "org.jnp.interfaces.NamingContextFactory");

       props.setProperty("java.naming.provider.url","localhost:1099");

       props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");

       InitialContext ctx;

       try {

           ctx = new InitialContext(props);

           HelloWorld helloworld = (HelloWorld) ctx

                  .lookup("HelloWorldBean/remote");

           out.println(helloworld.sayHello("ejb"));

       } catch (NamingException e) {

           e.printStackTrace();

       }

     %>

  </body>

并引入javax.naming包,此时代码会报错,因为找不到HelloWorld接口,此时用myeclipse的export-àjarfile将服务端的程序打成jar包加入到客户端,引入包就ok了。

7.      打开浏览器,输入地址:http://localhost:8080/Client/index.jsp

结果如下:

   

大功造成。

抱歉!评论已关闭.