`
xiang37
  • 浏览: 429473 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

最简单的EJB示例

阅读更多

做一个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 类自己编写配置信息!去掉代码注释即可!

分享到:
评论
2 楼 xiang37 2012-05-27  
vebasan 写道
此句代码的单词有错(标红色的):prop.setProperty("java.naming.factory.inital", "org.jnp.interfaces.NamingContextFactory");
应该是prop.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 

发这样的帖子本来是挺好的事情,但是不经过debug就草草发布,会很害人的哦!


谢谢指正
1 楼 vebasan 2012-05-23  
此句代码的单词有错(标红色的):prop.setProperty("java.naming.factory.inital", "org.jnp.interfaces.NamingContextFactory");
应该是prop.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 

发这样的帖子本来是挺好的事情,但是不经过debug就草草发布,会很害人的哦!

相关推荐

    最简单的EJB示例代码

    在这个"最简单的EJB示例代码"中,我们有两个关键的项目:一个用于服务器端的EJB项目,另一个是客户端的JSP WEB项目。 **服务器端EJB项目**通常包含了业务逻辑的实现。在EJB中,这些组件分为三种主要类型:会话bean...

    EJB与JSF的集成(简单示例)

    这个"简单示例"可能包括了创建一个简单的EJB服务,如计算两个数字的和,然后在JSF页面上有两个输入框让用户输入数字,一个按钮触发计算操作,最后在页面上显示结果。这样的例子能帮助初学者理解EJB和JSF的协同工作...

    EJB完美架构、简单开发(EJB 3[1].0开发演示)

    在提供的文件“EJB完美架构、简单开发(EJB 3.0开发演示).pps”中,很可能是包含了一个演示如何在EJB 3.0环境下进行开发的PPT或PowerPoint文档,里面可能包含了详细的步骤、代码示例和最佳实践,帮助学习者快速理解和...

    EJB教程,EJB参考书

    为了更直观地理解EJB的开发流程,下面以一个简单的“Hello World”示例进行说明。首先,需要安装EJB容器如Apusic Application Server,接着定义远程接口和Home接口,编写EJB类,创建部署描述符`ejb-jar.xml`,最后...

    EJB3.0培训课程

    4. **灵活性**:EJB3.0提供了更多的选择和灵活性,开发者可以根据实际需求选择最适合的实现方式。 综上所述,EJB3.0在简化开发流程、提高灵活性以及简化部署方面做出了显著改进,是EJB2.x的重要升级。通过上述内容...

    EJB3实战——Java

    Session Bean 是EJB中最常用的一种类型,分为有状态(Stateful)和无状态(Stateless)两种。其中无状态Session Bean适用于那些不需维护客户端状态的应用场景。 **代码示例**: ```java @Stateless public class ...

    EJB2.0一个完整的Helloworld

    在"一个完整的Helloworld"示例中,通常会创建一个简单的Stateless Session Bean,实现一个返回“Hello, World!”的业务方法。客户端通过查找Bean的Home Interface并调用其`create()`方法获取Bean实例,然后调用...

    jasperreports ejbql例子

    例如,一个简单的EJBQL查询可能是: ```java String ejbql = "SELECT entity FROM Entity entity WHERE entity.someProperty = :value"; ``` 在这个示例中,`Entity`是我们的实体类,`someProperty`是该类的一个...

    EJB3.0+weblogic操作文档

    - 无状态会话Bean是最简单的EJB类型,它不维护任何会话状态,每个请求都独立于其他请求。在EJB3.0中,只需通过`@Stateless`注解标记类即可创建无状态会话Bean。 - 示例中的`Company`类就是一个无状态会话Bean,...

    EJB2.0 实例开发

    3. **EJB2.0的Helloworld实例**:在EJB2.0的Helloworld示例中,我们通常会创建一个简单的会话bean,提供一个方法,如“sayHello”。客户端通过JNDI(Java Naming and Directory Interface)查找bean并调用该方法。这...

    ejb3 jpa初探

    以下是一个简单的EJB3实体bean,使用JPA进行ORM映射的例子: ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax....

    ejb30.pdfejb30.pdf

    #### 三、简单的EJB 3.0示例 - **简单的无状态会话Bean示例**:这部分通过一个简单的无状态会话Bean示例来展示基本的编程步骤。 - **简单的有状态会话Bean示例**:接着介绍了一个有状态会话Bean的示例,进一步展示...

    EJB3 IN ACTION 2.pdf

    随后,通过一个简单的示例让读者快速上手,体验EJB3的开发流程。 2. **构建业务逻辑**:这部分详细讲解了如何使用会话Bean(Session Bean)来构建业务逻辑。会话Bean是EJB3中用于处理客户端请求的主要组件,可以是...

    ejb

    无状态会话bean是最简单的EJB类型,它们不维护任何客户端之间会话的状态信息。每个客户端调用都会创建一个新的bean实例,执行完操作后即被销毁。这种bean适合于执行独立的操作,例如数据库查询或计算。 2. 有状态...

    EJB入门课件(PPT)

    这个文档将详细解释如何编写一个简单的HelloWorld EJB示例,从创建Bean接口到实现,再到部署描述符的配置。这个实例有助于理解EJB的编程模型。 **EJB运行测试** 在开发EJB后,测试是验证其功能的关键步骤。这部分...

    Manning - EJB 3 in Action

    通过一个简单的示例,本章引导读者逐步了解如何创建、部署并调用EJB组件。读者将学会如何利用EJB容器提供的服务来实现业务逻辑。 3. **第3章:使用会话Bean构建业务逻辑** 本章重点介绍会话Bean的概念及其在构建...

Global site tag (gtag.js) - Google Analytics