`
8366
  • 浏览: 809332 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ejb3.0 第2,3讲-开发第一个无状态会话bean和客户端

    博客分类:
  • ejb
阅读更多

 

ejb中的3种bean:

 

 

什么是会话bean?

编写第一个ejb3的会话bean:

步骤:

1.ejb企业级开发是面向接口编程的,我们完成第一个HelloWorld的例子,首先写接口,也就是远程接口(服务器端)

package cn.com.xinli.ejb3;

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

 

 

2.在写接口的实现类(服务器端)

package cn.com.xinli.ejb3.impl;

import javax.ejb.Remote;
import javax.ejb.Stateless;

import cn.com.xinli.ejb3.HelloWorld;


/*表明这个ejb是无状态的会话bean*/
@Stateless
/*声明这个ejb的远程接口是HelloWorld,必须要写这个注解,不写调用的时候会报错*/
@Remote(HelloWorld.class)

public class HelloWorldBean implements HelloWorld
{

	public String sayHello(String name)
	{
		return name+",你好,世界!";
	}
	
}

 

3. 开发客户端

jndi 环境 信息说明:

 

 

package cn.com.xinli.ejb3.test;
import java.util.Hashtable;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import cn.com.xinli.ejb3.HelloWorld;
public class EjbClient
{
 public static void main(String[] args)
 {
  Hashtable evn = new Hashtable();
  evn.put(Context.PROVIDER_URL, "127.0.0.1:1099");
  evn.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
  
//  Properties properties=new Properties();
//  properties.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
//  properties.setProperty("java.naming.provider.url", "localhost:1099");
 
  try
  {
   InitialContext context=new InitialContext(evn);
   /**
    * ejb3比ejb2有可地方比较好,就是在jndi查找的时候不用我们在写ejb-jar.xml
    * 只要我们按照jndi名字的查找规范就可以找到远程接口了
    * 
    */                                              
   HelloWorld helloword=(HelloWorld)context.lookup("HelloWorldBean/remote");
   System.out.println(helloword.sayHello("huxl"));
  } catch (Exception e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 }
}

 

4.部署服务器端,就是吧项目打成一个jar包放在jboss的D:\jboss-4.2.3.GA\server\default\deploy下

 

5.结果:

 

huxl,你好,世界!

分享到:
评论

相关推荐

    EJB3开发第一个无状态会话bean

    **EJB3 开发第一个无状态会话 Bean 知识详解** 无状态会话 Bean(Stateless Session Bean)是企业级 Java(EJB)3.0 中的核心组件,主要用于实现业务逻辑,它不保存任何特定客户端的状态信息。本篇文章将深入讲解...

    EJB3.0范例,开发环境搭建,服务器端程序,客户端调用程序

    通过本文档,我们了解了EJB 3.0的开发环境搭建过程,以及如何编写和部署一个简单的无状态会话bean。同时,也介绍了客户端如何调用服务器端的服务。EJB 3.0通过其简洁的API和注解支持大大简化了企业级Java应用的开发...

    手把手教你开发ejb3.0第一章

    - **会话Bean(Session Beans)**:分为无状态会话Bean(Stateless Session Beans)和有状态会话Bean(Stateful Session Beans),无状态Bean处理简单事务,有状态Bean保持客户端会话状态。 2. **注解驱动开发** ...

    ejb3 第12讲 --开发EJB容器模型的WEB服务

    在本主题"ejb3 第12讲 --开发EJB容器模型的WEB服务"中,我们将探讨如何利用EJB 3.0版本来创建和整合Web服务。EJB 3.0是一个重要的里程碑,因为它显著简化了EJB的使用,引入了更多的POJO(Plain Old Java Object)...

    EJB3.0中文文档

    开发无状态会话Bean时,可以通过实现远程接口来提供客户端调用的方法。 **2.1.2 开发只实现Local接口的无状态SessionBean** Local接口用于内部组件之间的调用,可以提高性能并减少安全风险。 **2.1.3 开发实现了...

    Jboss EJB3.0教程

    - 介绍如何创建、部署和调用一个只有远程接口的无状态Session Bean。 - 开发只存在Local接口的无状态Session Bean: - 解释本地接口的使用场景和实现方法。 - 开发同时具备Remote与Local接口的无状态Session ...

    EJB3.0课件.rar

    例如,无状态会话Bean在第一次请求时被创建,之后的请求会被同一个实例服务,直到容器决定回收该实例。 **4. 事务管理** EJB 3.0支持声明式事务管理,开发者可以通过`@TransactionAttribute`注解来指定事务的属性...

    EJB3.0入门与进阶

    EJB3.0中的会话Bean有两种类型:无状态会话Bean(Stateless Session Beans)和有状态会话Bean(Stateful Session Beans)。无状态Bean不维护客户端的会话状态,而有状态Bean则可以记住客户端的交互历史。 4. **依赖...

    ejb3.0的讲义一起看

    5. **简化会话bean(Session Beans)**:EJB 3.0区分了无状态会话bean(`@Stateless`)和有状态会话bean(`@Stateful`),无状态bean适用于简单的请求-响应模式,而有状态bean则能保持客户端会话的上下文。...

    JBOSS EJB3.0实例教程

    这个例子应该包括基本的无状态会话Bean的创建和调用。 - 使用JBoss提供的工具和文档来指导这一过程。 **2.3 在独立的TOMCAT中调用EJB** - 配置TOMCAT使其能够调用远程EJB。这通常涉及设置正确的类路径以及配置相关...

    EJB3.0入门图文教程

    有无状态会话Bean和有状态会话Bean两种,前者不保存客户端状态,后者则可以。 - **消息驱动Bean(Message Driven Bean)**:用于处理JMS(Java Message Service)消息,实现异步处理。 **3. 注解驱动** EJB3.0的...

    EJB3.0中文资料

    - **会话Bean**: 提供业务逻辑处理,分为无状态会话Bean和有状态会话Bean。 - **实体Bean**: 表示持久化的数据对象。 - **消息驱动Bean**: 处理异步消息。 ##### 3.2 基于STRUTS+EJB 3.0应用的体系结构图 - **表示...

    JBoss EJB3.0实例教程

    - **无状态与有状态会话Bean**:无状态会话Bean适用于不需要维护客户端状态的情况,而有状态会话Bean则用于需要在多个请求间维护状态的场景。教程详细对比了两种Bean的区别,并提供了具体的开发指导。 - **生命周期...

    EJB3.0实例教程

    3. **创建第一个EJB**:动手实践编写无状态会话Bean、实体Bean、消息驱动Bean。 4. **注解和依赖注入**:学习如何使用各种注解,并理解依赖注入的工作原理。 5. **持久化和查询**:深入研究JPA,编写JPQL查询,理解...

Global site tag (gtag.js) - Google Analytics