做一个EJB应用;首先需要导入支持EJB的包,本人也没弄清需要哪些包,总之,JBoos和WebLogic是支持EJB应用的!开发时,导入所有JBoos服务器client下所有的包。
使用Eclipse创建一个Java应用服务!
package com.xiva.cms.bean;
public interface HelloWorld {
public String say(String name);
}
package com.xiva.cms.bean;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld {
@Override
public String say(String name) {
return name + ":Hello world!";
}
}
@Stateless表示是无状态会话服务;@Remote(HelloWorld.class)从Remote意思可知,是可远程调用。
编写好上面代码后,导出工程为Jar文件。启动Jboos成功后,将其拷入下面目录
E:\J2EEServer\jboss-4.2.3.GA\server\default\deploy
注意最好不要放入带空格和中文名的路径中,以免带来不必要的麻烦!
最后编写调用类!
package com.xiva.cms.web;
//import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.xiva.cms.bean.HelloWorld;
public class Person {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Properties prop = new Properties();
// prop.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
// prop.setProperty("java.naming.provider.url", "localhost:1099");
try {
// InitialContext initContext = new InitialContext(prop);
InitialContext initContext = new InitialContext();
HelloWorld hello = (HelloWorld) initContext.lookup("HelloWorldBean/remote");
System.out.println(hello.say("xiva"));
} catch (NamingException e) {
e.printStackTrace();
}
}
}
下面的配置文件放在class目录下面,查看源码VersionHelper12类中的getJndiProperties方法可知是使用Class--getResourceAsStream方法来加载配置文件的!
java.naming.factory.initial = org.jnp.interfaces.NamingContextFactory
java.naming.provider.url = localhost:1099
假如你不编写这个配置文件,也可以使用Properties 类自己编写配置信息!去掉代码注释即可!
分享到:
相关推荐
在这个"最简单的EJB示例代码"中,我们有两个关键的项目:一个用于服务器端的EJB项目,另一个是客户端的JSP WEB项目。 **服务器端EJB项目**通常包含了业务逻辑的实现。在EJB中,这些组件分为三种主要类型:会话bean...
这个"简单示例"可能包括了创建一个简单的EJB服务,如计算两个数字的和,然后在JSF页面上有两个输入框让用户输入数字,一个按钮触发计算操作,最后在页面上显示结果。这样的例子能帮助初学者理解EJB和JSF的协同工作...
在提供的文件“EJB完美架构、简单开发(EJB 3.0开发演示).pps”中,很可能是包含了一个演示如何在EJB 3.0环境下进行开发的PPT或PowerPoint文档,里面可能包含了详细的步骤、代码示例和最佳实践,帮助学习者快速理解和...
为了更直观地理解EJB的开发流程,下面以一个简单的“Hello World”示例进行说明。首先,需要安装EJB容器如Apusic Application Server,接着定义远程接口和Home接口,编写EJB类,创建部署描述符`ejb-jar.xml`,最后...
4. **灵活性**:EJB3.0提供了更多的选择和灵活性,开发者可以根据实际需求选择最适合的实现方式。 综上所述,EJB3.0在简化开发流程、提高灵活性以及简化部署方面做出了显著改进,是EJB2.x的重要升级。通过上述内容...
Session Bean 是EJB中最常用的一种类型,分为有状态(Stateful)和无状态(Stateless)两种。其中无状态Session Bean适用于那些不需维护客户端状态的应用场景。 **代码示例**: ```java @Stateless public class ...
在"一个完整的Helloworld"示例中,通常会创建一个简单的Stateless Session Bean,实现一个返回“Hello, World!”的业务方法。客户端通过查找Bean的Home Interface并调用其`create()`方法获取Bean实例,然后调用...
例如,一个简单的EJBQL查询可能是: ```java String ejbql = "SELECT entity FROM Entity entity WHERE entity.someProperty = :value"; ``` 在这个示例中,`Entity`是我们的实体类,`someProperty`是该类的一个...
- 无状态会话Bean是最简单的EJB类型,它不维护任何会话状态,每个请求都独立于其他请求。在EJB3.0中,只需通过`@Stateless`注解标记类即可创建无状态会话Bean。 - 示例中的`Company`类就是一个无状态会话Bean,...
3. **EJB2.0的Helloworld实例**:在EJB2.0的Helloworld示例中,我们通常会创建一个简单的会话bean,提供一个方法,如“sayHello”。客户端通过JNDI(Java Naming and Directory Interface)查找bean并调用该方法。这...
以下是一个简单的EJB3实体bean,使用JPA进行ORM映射的例子: ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax....
#### 三、简单的EJB 3.0示例 - **简单的无状态会话Bean示例**:这部分通过一个简单的无状态会话Bean示例来展示基本的编程步骤。 - **简单的有状态会话Bean示例**:接着介绍了一个有状态会话Bean的示例,进一步展示...
随后,通过一个简单的示例让读者快速上手,体验EJB3的开发流程。 2. **构建业务逻辑**:这部分详细讲解了如何使用会话Bean(Session Bean)来构建业务逻辑。会话Bean是EJB3中用于处理客户端请求的主要组件,可以是...
无状态会话bean是最简单的EJB类型,它们不维护任何客户端之间会话的状态信息。每个客户端调用都会创建一个新的bean实例,执行完操作后即被销毁。这种bean适合于执行独立的操作,例如数据库查询或计算。 2. 有状态...
这个文档将详细解释如何编写一个简单的HelloWorld EJB示例,从创建Bean接口到实现,再到部署描述符的配置。这个实例有助于理解EJB的编程模型。 **EJB运行测试** 在开发EJB后,测试是验证其功能的关键步骤。这部分...
通过一个简单的示例,本章引导读者逐步了解如何创建、部署并调用EJB组件。读者将学会如何利用EJB容器提供的服务来实现业务逻辑。 3. **第3章:使用会话Bean构建业务逻辑** 本章重点介绍会话Bean的概念及其在构建...