注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
入侵攻击实战中被利用的端口
密码攻防实战大演习之CMOS密码篇
克敌制胜: 媒体文件木马攻防实战
攻防实战:注水漏洞的利用和防范
服务器性能评估的实战技巧
修复SQLSERVER2000数据库之实战经
Jboss下MS SQL Server配置指导
详述Win XP SP2防火墙实战策略
过五关斩六将:实战WinXP SP2防火
实战破解Win Vista Beta 2的本地
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> Java >> 文章正文
实战JBOSS――教你写第一个EJB----2
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:
编写第一个EJB:”hello,world”

  下面我们正式开始EJB编程。在编写我们的第一个EJB之前,你应该对EJB有一个大致的了解,如果没有的话,建议你先到网上找一些这方面的文章来看,否则你将无法理解下面要讲述的内容。

  远程接口

  远程接口是指对于客户端而言所能看到了调用接口

//HelloWorld.java
package sample;
/*这是一个远程接口,客户端调用这个接口来使真正的ejb工作*/
public interface HelloWorld extends javax.ejb.EJBObject
{
 public String hello() throws java.rmi.RemoteException;
}
  Home接口

  我们可以把Home接口看做是一个制造EJB的工厂,Home接口告诉EJB容器:“嗨,我的客户要我生成一个EJB,现在我把这个任务交给你啦!”

//HelloWorldHome.java
package sample;
/*Home接口告诉EJB容器怎样生成或销毁EJB的实例*/
public interface HelloWorldHome extends javax.ejb.EJBHome
{
 HelloWorld create() throws java.rmi.RemoteException,javax.ejb.CreateException;
}
  EJB的实现

  这里才是真正的EJB的实现

//HelloWorldBean.java
package sample;
import javax.ejb.SessionContext;
/*这个类具体实现的远程接口HelloWorld*/
pubic class HelloWorldBean implements javax.ejb.SessionBean
{
 private SessionContext ctx;
 public void setSessionContext(SessionContext ctx)
 {
  this.ctx = ctx;
 }
 pubic void ejbRemove()
 {
  System.out.println(“ejbRemove()”);
 }
 public void ejbActivate()
 {
  System.out.println(“ejbActivate()”);
 }
 public void ejbPassivate()
 {
  System.out.println(“ejbPassivate()”);
 }
 /*hello方法是实际的业务逻辑,它可以在客户端显示“hello,world”这个字符串*/
 public String hello()
 {
  System.out.println(“hello()”);
  return “hello,world”;
 }
}
  好了,这个会话EJB的全部代码编写完毕,下一步我们要做的是编写它的部署文件:

  ejb-jar.xml

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar>
 <description>JBoss Hello World Application</description>
 <display-name>Hello World EJB</display-name>
 <enterprise-beans>
 <session>
  <ejb-name>Hello</ejb-name>
  <home>sample.HelloHome</home>
  <remote>sample.Hello</remote>
  <ejb-class>sample.HelloBean</ejb-class>
  <session-type>Stateless</session-type>
  <transaction-type>Bean</transaction-type>
 </session>
</enterprise-beans>
</ejb-jar>
  这个ejb-jar.xml文件应放在当前项目的META-INF目录下,在本例中我将其放在
F:\projects\jbss-tutorial目录下了,当然你应该根据需要来将它放在你自己的项目目录中,为了能更清楚地让你了解ejb-jar.xml文件的位置,以下我列出了这个示例的整个目录结构:



  这样我们就完成了一个简单的会话EJB的编写,但其实JBOSS还提供了一个额外的配置文件:JBoss.xml,利用它可以对JBOSS服务器进行更多的定制,但由于本例实在是太简单了,因此我们可以将它省略不写。

  虽然我们完成了这个会话EJB的编写,但还有最后的一步工作要做:打包。首先我们进入当前项目的根目录:

cd F:\project\jboss-tutorial
  然后执行jar命令将所有的类及ejb-jar.xml打包:

jar cf HelloWorld.jar sample META-INF
  这时你会发现,在当前目录下多了一个名为HelloWorld.jar的文件,这就是我们的最终成品。图解如下:







  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务