我的开发环境是eclipse 3.4 + glassfish-v2
1。下载安装glassfish-v2,具体步骤就不说了,此处省略500字。。。
2。运行asadmin start-appserv启动应用服务器。
3。登陆admin console, http://localhost:4848
4。创建eclipse project
从%glassfish_home%/lib中找到javaee.jar和appserv-rt.jar这两个文件,加入到project Libraries中。
5。编写HelloWorld EJB
IHelloWorld.java (remote interface):
package ejb;
import javax.ejb.Remote;
@Remote
public interface IHelloWorld
{
public String sayHello();
}
HelloWorld.java (stateless session bean)
package ejb;
import javax.ejb.Stateless;
@Stateless(name="HelloWorldBean", mappedName="ejb/HelloWorldBeanJNDI")
public class HelloWorld implements IHelloWorld
{
public String sayHello()
{
return ("Hello World! This is my first EJB3 Stateless SessionBean!");
}
}
mappedName定义了HelloWorld的jndi name,稍后客户端测试程序需要用这个名字来做lookup。
6。编写ant build.xml
<?xml version="1.0"?>
<project name="helloWorld" default="deploy" basedir=".">
<property name="build.dir" value="${basedir}/class"/>
<property name="glassfish.home" value="F:/glassfish-v2ur2"/>
<property name="deploy.dir" value="${glassfish.home}/domains/domain1/autodeploy"/>
<target name="jar">
<jar destfile="helloWorld.jar">
<fileset dir="${build.dir}">
<include name="ejb/*.class"/>
</fileset>
</jar>
</target>
<target name="deploy" depends="jar">
<copy file="${basedir}/helloWorld.jar" todir="${deploy.dir}"/>
</target>
</project>
7。打包,部署。
运行build.xml,把程序打包成helloWorld.jar并拷贝到glassfish的自动部署目录。如果部署成功,在glassfish的admin console中,Applications->EJB Modules下面可以找到我们的HelloWorldBean。如果程序中没有设置mappedName,去Application Server->General->JNDI Browsing也可以找到对应的jndi name。
8。编写客户端测试程序。
package test;
import javax.naming.InitialContext;
import ejb.IHelloWorld;
public class Test
{
public void runTest() throws Exception
{
InitialContext ctx = new InitialContext();
IHelloWorld bean = (IHelloWorld)ctx.lookup("ejb/HelloWorldBeanJNDI");
System.out.println(bean.sayHello());
}
public static void main(String[] args)
{
try
{
Test t = new Test();
t.runTest();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
运行测试程序,成功打印出: Hello World! This is my first EJB3 Stateless SessionBean!
感觉ejb3比ejb2少了一堆繁琐的文件和xml配置,而且支持pojo风格的编程,开发效率和可移植性都比以前要好得多。
- 大小: 54.8 KB
- 大小: 70.1 KB
- 大小: 76.1 KB
- 大小: 62 KB
- 大小: 48.9 KB
- 大小: 56.9 KB
分享到:
相关推荐
### JavaEE5学习笔记05-EJB之会话Bean总结 #### EJB(Enterprise JavaBeans)简介 EJB(Enterprise JavaBeans)是Java EE平台的一部分,用于开发和部署可重用的服务组件。EJB规范定义了如何编写、部署以及管理企业...
在示例中,`EJB-HelloWorld`可能包含了名为`HelloWorldLocal`的本地接口,其中定义了业务方法,如`sayHello()`。然后,在Bean类中,通过`@Local`注解声明这个接口,并实现其方法。 4. **远程接口的SessionBean** ...
无状态会话 Bean(Stateless Session Bean)是企业级 Java(EJB)3.0 中的核心组件,主要用于实现业务逻辑,它不保存任何特定客户端的状态信息。本篇文章将深入讲解如何在 EJB3 中开发第一个无状态会话 Bean,以及...
通过学习这个"HelloWorld"示例,开发者可以快速理解EJB3.0的基础操作,并进一步探索更复杂的EJB特性和应用场景,如会话bean、消息驱动bean以及定时器服务等。实践中,结合JPA和JSF等Java EE组件,可以构建出强大的...
在"一个完整的Helloworld"示例中,通常会创建一个简单的Stateless Session Bean,实现一个返回“Hello, World!”的业务方法。客户端通过查找Bean的Home Interface并调用其`create()`方法获取Bean实例,然后调用...
在本示例中,我们探讨的是一个简单的EJB2.0 HelloWorld程序,主要涉及EJB的三个核心部分:Bean类、组件接口和Home接口,以及配置文件ejb-jar.xml。 1. **Bean类**: Bean类是EJB的核心,它实现了业务逻辑。在这个...
#### (8):JBoss EJB3(HelloWorld)备忘记 这部分提供了一个简单的HelloWorld示例,用于演示如何从头开始构建EJB项目。 总结起来,这篇教程涵盖了从配置开发环境到编写和测试Session Bean的所有基本步骤。它不仅...
3.1 HelloWorld实例 3.2 程序代码 3.3 配置文件jboss-service.xml 3.4 将实例部署到JBOSS 3.5 MBean的效果 s四.EJB3.0使用说明 1. Enterprice JavaBeans(EJB)的概念 1.1 会话 Bean: 1.2 实体Bean: 1.3 消息驱动...
【南京大学软件学院J2EE课件:SessionBean详解】 J2EE(Java Enterprise Edition)是一种用于构建企业级分布式应用程序的框架,它包含了多种服务、APIs和协议,旨在简化开发、部署和管理大型系统的过程。Session ...
在EJB3中,我们通过在接口上添加`@Stateless`注解来定义一个无状态会话Bean。 ### 4. 测试EJB3会话Bean 在给定的描述中提到的`Test.jsp`是一个用于测试远程无状态会话bean的页面。这个页面通常会被包含在Web应用...
例如,`HelloWorldBean`类实现了`HelloWorld`接口,并通过`@Stateless`和`@Remote(HelloWorld.class)`注解进行配置。如果不指定`@Remote`,默认实现的是本地接口。 完成EJB组件的开发后,接下来需要将其部署到...
### MyEclipse+EJB3+JBoss4部署EJB+Web项目HelloWorld详解 #### 一、环境搭建 ##### 1. 安装 JDK 1.6 在开始之前,请确保您的开发环境中已经安装了 Java 开发工具包 (JDK) 1.6 版本。如果尚未安装,请访问 Oracle ...
- `com.ejb.helloworld`:这部分可能包含EJB的实现,例如一个简单的会话Bean。Bean通常定义为带有特定注解(如`@Stateless`或`@Stateful`)的Java类,表示其生命周期和行为。此外,还可以有对应的接口,供客户端调用...
+ 无状态会话Bean(Stateless Session Bean) + 有状态会话Bean(Stateful Session Bean) + 会话Bean扩展开发 * 第5课:消息驱动Bean(Message-Driven Bean)——接收JMS消息 + JMS与消息驱动Bean的工作原理 +...
- **会话bean(Session Beans)**:代表客户端的业务逻辑,分为有状态(Stateful)和无状态(Stateless)两种。有状态会话bean维护与特定客户端的交互状态,而无状态会话bean不保留任何客户端状态信息,对每个请求都...
创建一个简单的EJB HelloWorld案例,我们需要以下步骤: 1. **创建EJB项目**:首先,我们需要一个支持Java EE的开发环境,如Eclipse或NetBeans,然后创建一个新的Java EE项目,并添加EJB模块。 2. **定义Bean类**...
在EJB3.0的第一个"Hello, World"项目中,我们将学习如何创建和配置一个简单的EJB组件。首先,我们需要了解EJB的基本概念。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean...
在压缩包文件`ejb3HelloWorld`中,可能包含了这个示例项目的源代码。这个项目可能包含以下组件: 1. `HelloWorldBean.java`: 实现无状态bean的类。 2. `HelloWorldLocal.java`: 定义本地接口的类。 3. `ejb-jar.xml`...
9. **EJB Hello World**:通常的EJB Hello World示例会展示如何创建和使用一个简单的EJB组件,例如一个实体Bean,用于输出“Hello, World!”。 在学习EJB时,理解这些基础概念和操作是至关重要的。通过编写和部署...