`
1028826685
  • 浏览: 939081 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

EJB3.x第一个Helloworld

阅读更多

下面我们一起来学习Ejb的简单应用:

首先我们来开发第一个HelloWorld  Ejb

  (照着做)
 
 第一步:新建一个JavaProject程序倒入jboss-4.2.3.GA\client目录下的所有*.jar文件

  第二步:编写一个接口:IHelloWord.java

public interface IHelloWord {
public String sayHello(String name);
}

第三步:编写一个实现这个接口的HelloWorld.java

@Stateless//表示一个无状态的bean
@Remote(IHelloWord.class)//指定接口为远程接口
public class HelloWorld implements IHelloWord{
public String sayHello(String name){

return "is my name"+name;
}
}
第四步:利用Myeclipse工具进行打包成jar文件:
File-〉Export-〉Java-〉Jar file -〉选择项目-〉src-〉(IHelloWord +HelloWorld )包进行打包 去掉.clsspath和.project->路径-〉完成

第五步:把这个打包的jar\jboss-4.2.3.GA\server\default\deploy(首先要启动jboss)

 
  第六步:编写一个客户端来调用
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
/*第一种:通过编码
* Properties props = new Properties();
//jboss的jndi连接工厂 不同服务器的连接工厂和连接路径不同 ,可以通过一个属性文件编写
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
//jboss连接路径
props.setProperty("java.naming.provider.url", "localhost:1099");
第二种:编写一个jndi.properties的属性文件
*/
try {
//InitialContext ctx = new InitialContext(props);//使用属性文件时候会在类路径下自动加载jndi.properties属性文件
InitialContext ctx = new InitialContext();//使用属性文件时候会在类路径下自动加载jndi.properties属性文件
//说明下面返回的是一个实现了IHelloWord接口的代理对象
//通过这个代理对象来调用HelloWorld
/* 
    JNDI名称规则:
        当EJB发布到Jboss 时,如果我们没有为它指定全局JNDI名称或修改过其默认EJB名称,Jboss就会按照默认的命名规则为EJB生成全局JNDI名称,默认的命名规则如下:
如果把EJB作为模块打包进后缀为*.ear的JAVA EE企业应用文件,默认的全局JNDI名称是
本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
       EAR-FILE-BASE-NAME为ear文件的名称,EJB-CLASS-NAME为EJB的非限定类名。
例:把HelloWorld应用作为EJB模块打包进名为HelloWorld.ear的企业应用文件,它的远程接口的JNDI 名称是:HelloWorld/HelloWorldBean/remote

如果把EJB应用打包成后缀为*.jar的模块文件,默认的全局JNDI名称是
本地接口:EJB-CLASS-NAME/local
远程接口:EJB-CLASS-NAME/remote
例:把HelloWorld应用打包成HelloWorld.jar文件,它的远程接口的JNDI名称是:HelloWorldBean/remote
*
*/
IHelloWord helloworld = (IHelloWord) ctx.lookup("HelloWorld/remote");

System.out.println(helloworld.sayHello(" liyong"));
} catch (NamingException e) {
System.out.println(e.getMessage());
}
}

}
{
属性文件:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost\:1099

}
执行.....

分享到:
评论

相关推荐

    完整EJB3.0第一个HelloWord,

    在EJB3.0的第一个"Hello, World"项目中,我们将学习如何创建和配置一个简单的EJB组件。首先,我们需要了解EJB的基本概念。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean...

    jboss7.1+ejb3.1建立第一个Ejb项目

    本篇文章将指导你如何使用JBoss7.1和EJB3.1在Eclipse3.7环境中创建你的第一个EJB项目。EJB(Enterprise JavaBeans)是一种Java平台上的组件模型,用于构建可扩展的、可靠的、安全的企业级应用。JBoss是Red Hat公司...

    EJB 3.0

    1. **第一个EntityBean: HelloWorld** - **示例代码**: ```java @Entity public class HelloWorld { @Id private Long id; private String message; // 构造函数、getters和setters } ``` 2. **定义对...

    ejb 3.0实用教程

    从作者几个EJB3.0 项目的开发情况来看,除了第一个项目开发周期相对 有些长之外(因为开发人员之前尚未掌握EJB3.0,相当于边学边用),后面的项目从开发周期到以后的维护时间都 明显优于JDBC+java bean 或sprint...

    jboss-as-7.1.1.Final

    四、第一个EJB工程 【File】——>【New】——>【Other】 (找到EJB,并且选择EJB Project)——>【Next】 输入: Project name:TestEJB Target runtime:选择JBoss7.1 EJB module version:选择3.1 ——>【Next】...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ...

    spring资源

    5. **springhelloworld.pdf**:典型的"Hello World"教程,通常用于介绍如何建立一个简单的Spring应用,是初学者了解Spring的第一步。 6. **Spring2.pdf**:这可能是Spring 2.x版本的官方文档或者一个深入教程,因为...

    最新Java面试宝典pdf版

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    java企业级开发编程学习资料 Java EE教程 J2ee教程 Spring 共189页.pptx

    - 创建一个简单的Spring项目,比如HelloWorld项目,并编写相应的配置文件`applicationContext.xml`。 #### 四、Spring中的Bean配置 1. **IOC & DI概述**:IOC(控制反转)是一种设计模式,DI(依赖注入)是其实现...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...

    JSF入门全系列

    通过一系列示例,我们将深入学习如何创建JSF项目,设置环境,编写第一个Hello World程序,以及如何处理表单提交、验证用户输入、使用数据库等实际场景。 总的来说,"JSF入门全系列"涵盖了JSF框架的各个方面,旨在...

    java源码包3

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java源码包---java 源码 大量 实例

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    java基础入门答案

    System.out.println("这是第一个Java程序!"); } } ``` 1. **公共类:** `public class HelloWorld` 定义了一个名为`HelloWorld`的公共类。 2. **主方法:** `public static void main(String[] args)` 是Java程序...

    Java面试宝典-经典

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    Java面试宝典2012版

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字...

    java面试题大全(2012版)

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

Global site tag (gtag.js) - Google Analytics