当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 每个bean可能会有很多方法,一般我们通过一个delegate来调用sessionbean中的方法,而非直接调用sessionbean,delegate中只是简单的对每个相对应的sessionbean的public方法的简单封装,在调用的时候省去了每次对home的查找和ejb对象的create,...
 

 

    摘要:现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反:有状态和无状态会话bean的本质区别是它们的生命期。首先解释一个下面要用到的概念--用户:session bean 的用户实际上就是直接调用ejb的类的实例,甚至是这个实例的某......
    摘要:制作方法一:加入js代码 1、在页面的<head></head>中加入js代码:<script language="javascript">var tiptimer;function locateobject(n, d) { //v3.0var p,i,x; if(!d) d=document; if((p=n.indexof("?"))>0&&......


运用反射实现ejb动态委派(1)

每个bean可能会有很多方法,一般我们通过一个delegate来调用sessionbean中的方法,而非直接调用sessionbean,delegate中只是简单的对每个相对应的sessionbean的public方法的简单封装,在调用的时候省去了每次对home的查找与ejb对象的create,但是可能我们的bean会有很多方法,如果每个bean都写这样一个delegate,这样工作量就会很大,而且也不便于以后系统的移植,比如说,原来使用ejb实现,现在要改用jdo直接操作数据库,而通过运用java的reflect技术,就能较好地实现这些要求.首先,定义了一个facadedelegate的抽象类,用来实现对sessionbean的home的查找,代码如下:

【程序编程相关:用Java事件处理机制实现录制回放功能(

【推荐阅读:新一代Java技术即将出现

import javax.ejb.*; 【扩展信息:让JavaME程序真正Run Anywh

import testejb.util.common.*;

import testejb.util.resource.*;

public abstract class facadedelegate{private static string type = resource.remotetype;

public facadedelegate() {

}

public ejbhome gethome(string jindiname,class classname)

{

ejbhome home = null;

serverlocatoradapter adapter = serverlocatoradapter.getinstance();

try

{

home = (ejbhome)adapter.gethome(type, jindiname, classname);

}

catch(exception e)

{

system.err.println(e.getmessage() + jindiname + classname.tostring());

}

return home;

}}

其中serverlocatoradapter是一个用来根据是local还是remote调用ejb对象而通过不同的方法查找home的类,如果type为local则调用localserverlocate中的方法,如果type为remote则调用remoteserverlocate中的方法,获得home.代码如下:

import java.util.*;

import java.lang.reflect.*;


...   下一页
    摘要:一个禁止鼠标右键菜单的脚本,并少了提示警告!制作方法: 在<body>标签下,粘贴代码:<script language=javascript><!--var message="";///////////////////////////////////function clickie() {if (document.all) {(message);return f......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE