- 浏览: 442241 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
鱼里的yeol:
正在学习EJB 感觉有些吃力
Ejb3学习之二----Ejb3的Ejb Bean类型介绍 -
phoenix5870:
默认就是singleton的。
Spring中的Singleton模式和Java中的Singleton模式 -
jhys7s8jd:
pdf打印机下载 无水印http://www.onlinedo ...
PDFCreate工具的使用 -
wang371134086:
:e vil:
浅谈Struts2中的拦截器实现责任链模式 -
liu765023051:
亲,local与remote有什么区别呢
EJB学习之三---Local和Remote接口
这篇文章主要来学习Ejb的组成元素,重点介绍Local和Remote接口。
Key
EJB的组成
Local接口
Remote接口
Ejb Instance及工作方式
Sample实例
一 Ejb的组成
标准的Ejb至少由三个部分组成:Local接口,Remote接口以及Ejb Instance。
二 Local接口
1. Local接口,称为Home接口,继.承接基类javax.ejb.Local.从Ejb2.0开始出现的 新的接口,本质上是Java RMI接口.
2. 对于Local接口的使用,只能在本地使用。它列出了所有定位/创建/删除Ejb实例的方法。
3. 定义local接口的方法:
1) 在Ejb文件中定义:
@Local(value={Interface1, interface2,..})
2) 在Ejb文件中定义:
@Local(Interface1,Interface2,..)
3) 在Interface文件中定义
@Local
三 Remote接口
1. Remote接口列出Ejb类的业务逻辑方法。集成基类javax.ejb.Remote.本质上是Java RMI接口.
2. 定义local接口的方法:
1) 在Ejb文件中定义:
@Remote(value={Interface1, interface2,..})
2) 在Ejb文件中定义:
@Remote(Interface1,Interface2,..)
3) 在Interface文件中定义
@Remote
四 Ejb instance及工作方式:
对于Ejb的工作方式,如附件中的图:
五 Sample
1.Interface 定义:
1)UserManage
2)UserIdManage
3)UserNameManage
2.Ejb :
1)
deploy到Jboss服务器上,其Ejb name为:UserManageEjbBean.
3)JavaBean:
4) EjbClient:
(1) Main Class:
run Main,Console出现的Log:
UserId:0
UserName:Jamson
(2)web 页面:
deploy web project,输入:http://localhost:8080/EjbWebProject_Client/index.jsp
显示:
UserID:10
UserId:100
Key
EJB的组成
Local接口
Remote接口
Ejb Instance及工作方式
Sample实例
一 Ejb的组成
标准的Ejb至少由三个部分组成:Local接口,Remote接口以及Ejb Instance。
二 Local接口
1. Local接口,称为Home接口,继.承接基类javax.ejb.Local.从Ejb2.0开始出现的 新的接口,本质上是Java RMI接口.
2. 对于Local接口的使用,只能在本地使用。它列出了所有定位/创建/删除Ejb实例的方法。
3. 定义local接口的方法:
1) 在Ejb文件中定义:
@Local(value={Interface1, interface2,..})
2) 在Ejb文件中定义:
@Local(Interface1,Interface2,..)
3) 在Interface文件中定义
@Local
三 Remote接口
1. Remote接口列出Ejb类的业务逻辑方法。集成基类javax.ejb.Remote.本质上是Java RMI接口.
2. 定义local接口的方法:
1) 在Ejb文件中定义:
@Remote(value={Interface1, interface2,..})
2) 在Ejb文件中定义:
@Remote(Interface1,Interface2,..)
3) 在Interface文件中定义
@Remote
四 Ejb instance及工作方式:
对于Ejb的工作方式,如附件中的图:
五 Sample
1.Interface 定义:
1)UserManage
public interface UserManage { public void addUser(User user); }
2)UserIdManage
public interface UserIdManage { public void addUserId(User user); }
3)UserNameManage
public interface UserNameManage { public void addUserName(User user); }
2.Ejb :
1)
import javax.ejb.Local; import javax.ejb.Remote; import javax.ejb.Stateless; /** * @author Jamson Huang * */ @Stateless(name="UserManageEjbBean")/*rename ejb name*/ @Remote(value={UserManage.class,UserNameManage.class})/*定义Remote接口*/ @Local(value={UserManage.class,UserIdManage.class})/*定义Local接口*/ public class UserManageBean implements UserManage,UserNameManage,UserIdManage { public void addUser(User user) { System.out.println(user.getUserName()); user.setUserId(10); } public void addUserName(User user){ System.out.println(user.getUserName()); user.setUserName("EJB"); } public void addUserId(User user){ System.out.print(user.getUserId()); user.setUserId(100); } }
deploy到Jboss服务器上,其Ejb name为:UserManageEjbBean.
3)JavaBean:
import java.io.Serializable; /** * @author Jamson Huang * */ public class User implements Serializable { /** * */ private static final long serialVersionUID = 1089875714097918835L; private String userName; private int userId; /** * @return the userName */ public String getUserName() { return userName; } /** * @param userName the userName to set */ public void setUserName(String userName) { this.userName = userName; } /** * @return the userId */ public int getUserId() { return userId; } /** * @param userId the userId to set */ public void setUserId(int userId) { this.userId = userId; } }
4) EjbClient:
(1) Main Class:
import javax.naming.InitialContext; import com.ejb.bean.user.User; import com.ejb.bean.user.UserManage; import com.ejb.bean.user.UserNameManage; /** * @author Jamson Huang * */ public class UserManageEjbClient { public static void main(String[] args) throws Exception { InitialContext context = new InitialContext(); UserManage userManage = (UserManage)context.lookup("UserManageEjbBean/remote"); User user = new User(); user.setUserName("Jamson"); userManage.addUser(user); System.out.println("UserId:"+user.getUserId()); UserNameManage userNameManage = (UserNameManage)context.lookup("UserManageEjbBean/remote"); userNameManage.addUserName(user); System.out.println("UserName:" + user.getUserName()); } }
run Main,Console出现的Log:
UserId:0
UserName:Jamson
(2)web 页面:
<%@ page language="java" import="java.util.*,javax.naming.*,com.ejb.bean.user.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>Ejb Interface test page</title> </head> <body> <% Properties props = new Properties(); props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); props.setProperty("java.naming.provider.url", "localhost:1099"); props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming"); InitialContext context = new InitialContext(props); UserManage userManage = (UserManage)context.lookup("UserManageEjbBean/local"); User user = new User(); user.setUserName("Jamson"); userManage.addUser(user); out.println("UserID:"+user.getUserId()); UserIdManage userIdManage = (UserIdManage)context.lookup("UserManageEjbBean/local"); userIdManage.addUserId(user); out.println("UserId:"+user.getUserId()); %> </body> </html>
deploy web project,输入:http://localhost:8080/EjbWebProject_Client/index.jsp
显示:
UserID:10
UserId:100
发表评论
-
OS Workflow Intruction
2011-03-14 01:58 1643OSWorkflow是一个灵活的工作流引擎,设计成可嵌入到企业 ... -
EJB学习之五---MDB(消息驱动EJB)
2010-09-06 13:32 2269前面已经介绍过EJB的Session Bean,这篇文章主要介 ... -
SSL单双向验证原理(转)
2010-06-07 22:34 2894Key points SSL验证 双向SSL ... -
Spring2.5学习之三----AOP研究
2010-05-31 12:09 6471Key Points AOP的基本概念 Advice的类型 A ... -
Spring2.5学习之二----依赖注入
2010-05-30 17:22 2428Key points 依赖注入的原理 依赖注入的方式---XM ... -
Spring学习之一----创建Bean的三种方法
2010-05-30 14:29 27660关键字 BeanFactory ApplicationCont ... -
EJB3学习之四----EJB3新特性(元数据注解和依赖注入)
2010-05-13 01:39 4139EJB3新特性 元数据注解 依赖注入 一 EJB3新特性 ... -
Ejb3学习之二----Ejb3的Ejb Bean类型介绍
2010-05-11 23:01 3237关于Ejb3的Ejb bean类型介 ... -
Ejb学习之一---EJB3+Jboss4.2配置开发
2010-05-09 02:59 2864昨天,打算把Ejb整理下,最早用到Ejb+Jboss是在三年前 ... -
Struts Taglib库之(一)Bean讲解
2010-05-05 23:29 0最近准备换工作,也想把一些工作中用到的技术进行链接起来,就把它 ... -
转:Hibernate中cascade和inverse的相关
2011-11-19 17:51 646FROM:http://developer.51cto.com ... -
Struts1和Struts2有何不同?
2010-04-19 00:42 0Struts1和Struts2的区别和对比: Action ... -
Struts2中的Vistor模式
2010-04-19 00:40 1509Visitor访问者模式定义 作用于某个对象群中各个对象的操作 ... -
Spring中的Singleton模式和Prototype模式
2010-04-19 00:06 1794对于在Spring+Struts2结合配置Action=&qu ... -
WebService介绍
2010-04-18 17:01 2946记得初次接触WebService是 ... -
Spring中的Singleton模式和Java中的Singleton模式
2010-04-17 17:09 12655对于Spring中实现Singleton模式,是以IOC容器为 ... -
JavaMail来读取和发送邮件的基本流程
2010-04-15 01:21 1916在应用程序中使用JavaMail来读取邮件的基本流程如下: ... -
SSH框架优缺点【转】
2010-04-15 00:53 6129在过去的一年里,可能 ... -
J2EE面试题
2010-04-14 11:17 0一、基础问答 1.下 ... -
JTOM
2010-04-13 00:24 0JTOM是一个基于Java开放源代码的事物处理管理器。它遵 ...
相关推荐
NULL 博文链接:https://676744379-qq-com.iteye.com/blog/1853336
4.1.3 开发存在Remote与Local接口的无状态Session Bean ...17 4.2 STATEFUL SESSION BEANS(有状态BEAN)开发20 4.3 STATELESS SESSION BEAN与STATEFUL SESSION BEAN的区别...22 4.4 如何改变SESSION BEAN的JNDI ...
4.1.3 开发存在Remote与Local接口的无状态Session Bean ...17 4.2 STATEFUL SESSION BEANS(有状态BEAN)开发20 4.3 STATELESS SESSION BEAN与STATEFUL SESSION BEAN的区别...22 4.4 如何改变SESSION BEAN的JNDI ...
Tomcat下web工程调用JBOSS部署的EJB项目 此源码包 包括local本地调用及remote远程调用 文档说明在http://blog.csdn.net/heardy/article/details/6906225
在EJB3.0中开发实体Bean非常简单,你可以象开发一般的java bean一样编程,只需做少量的注释。一个实体bean不需要实现Home接口或者Remote、Local接口。
javax.ejb.Local.class javax.ejb.LocalBean.class javax.ejb.LocalHome.class javax.ejb.Lock.class javax.ejb.LockType.class javax.ejb.MessageDriven.class javax.ejb.MessageDrivenBean.class javax.ejb....
javax.ejb.Local.class javax.ejb.LocalBean.class javax.ejb.LocalHome.class javax.ejb.Lock.class javax.ejb.LockType.class javax.ejb.MessageDriven.class javax.ejb.MessageDrivenBean.class javax.ejb....
javax.ejb.Local.class javax.ejb.LocalBean.class javax.ejb.LocalHome.class javax.ejb.Lock.class javax.ejb.LockType.class javax.ejb.MessageDriven.class javax.ejb.MessageDrivenBean.class javax.ejb....
[7] 建立 HelloWorld Stateless Session Bean 及 Local, Remote interfaces: 19 [8] 建立客户端测试程序: 20 [9] 使用 ANT 建立 EJB-JAR 并执行 Client 程序: 20 MyEclipse EJB 3.0 Tutorial 22 Table of ...
3.4.2Remote接口 20 3.4.3Local接口 21 3.4.4Bean类 22 3.4.5远程客户 23 3.4.6本地客户 24 3.5Stateful SessionBean(有状态会话Bean) 25 3.6State(状态) 26 3.6.1无状态 26 3.6.2有状态 27 3.6.3效果 27 4消息...
JEE项目结构 具有推荐结构的 Java EE 项目 ... sample-ejb-service:具有@Local 和@Remote 接口的 EJB 服务,以及一个嵌入的本地客户端 sample-ejb-client:调用sample-ejb-service的@Remote接口的远程客户端
J2EE程序设计复习题 1. 选择题 1. EJB是: [B] A. 服务器端产品 B.... Remote interface D. Primary key class E. Local home interface F. Local interface G. ejb-jar.xml H. application.xml I. Bean class 5.
4.1.3 开发存在Remote与Local接口的无状态Session Bean ...............................................................................17 4.2 STATEFUL SESSION BEANS(有状态BEAN)开发.........................
Local接口和CMR(Container-Managed RelationShips) 49 两种访问方式的抉择 49 性能和访问方式 50 方法参数和访问方式 50 数据访问粒度 50 6,企业Bean的“内容” 51 7,企业Bean的命名约定 51 8,企业Bean的生存...
Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符...
Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符...
Java Web Services shows you how to use SOAP to perform remote method calls and message passing;how to use WSDL to describe the interface to a web service or understand the interface of someone else's ...
Java Web Services shows you how to use SOAP to perform remote method calls and message passing; how to use WSDL to describe the interface to a web service or understand the interface of someone else's...
13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 13.4. 处理器映射(handler mapping) 13.4.1. BeanNameUrlHandlerMapping 13.4.2...