感觉rmi在ejb用的比较多,在其他方面好像比较少,如果你要考scjd,rmi就得好好学学了。我研究的时间也不是很长,大家共同进步吧。

解决方案 »

  1.   

    RMI是整个j2ee的基础,尤其对EJB来说
      

  2.   

    你可以先搞个程序时时,感觉一下,jbuilder里有例子
    ejb就是使用RMI
      

  3.   

    当你开发分布式应用的时候你会发现RMI非常简单方便
    EJB使用的是RMI/IIOP协议
      

  4.   

    在RMI中首先要理解的是代理的概念,和客户打交道的是对象的代理。这个代理可以通过RMIC命令编译得到的。
    一般来说rmi服务在生成的时候会把自己导出,这是在UnicastRemoteObject中的exportObject()函数中进行,这个过程会将服务帮定到一个HASH静态对象,我认为也就是rmiregistry服务中的一个静态成员。同时这个RMI服务会在服务端开一个SERVERSOCKET,等待客户端的请求。
    客户端通过Naming.lookUp()来查找服务对象,实际上是调用了一个rmiregistry.lookup来完成,我认为它是rmiregistry的一个代理,实际上rmiregistry也是一个rmi服务。lookup返回的是一个序列化的rmi服务的代理对象,在客户端进行反序列化后生成代理对象。由于这个代理对象拥有rmi服务的相关消息,比如socket的服务端口等,所以通过它可以和rmi服务进行通信。
    我上面描述的是rmi/jrmp通信,实现是在sun.rmi的包中可以看到CLASS文件,反编译可以看到一些实现的思想。
    至于rmi/iiop,我认为是在此基础上再封装IIOP协议。具体的没有分析过。
      

  5.   

    謝謝你們的參與,我現在要解決的問題是:我想用rmi把applet與servlet連接起來,我做了一個項目:applet用與顯示數據庫裡的數據,通過servlet與數據庫進行連接,再通過servlet把數據顯示在applet上(我想在servlet上把數據封裝成一個對象,通過rmi在applet上引用就可以了),以上是我的想法,我不知道能不能實現,我更不知道這麼樣去實現,請有這方面的人指教,還有疑問,我剛才試了一下rmi的程序,但是我沒有運行成功,請指點!在線等待
      

  6.   

    applet连servlet如果是局域网,corba或是rmi都能行
    要是internet,还是webservice ,soap那些玩艺比较灵的吧?
      

  7.   

    我也在考虑相关的话题,也是Applet与Servlet实现通信,通过RMI,还请有经验的大虾们说说话,拉小弟一把,谢谢!
    (abc)兄我们也可以共同进步。
      

  8.   

    是啊!我的項目是c/s結構的,對啊,大家一塊學習啊,還請有經驗的指點指點,請問有誰有applet與servlet通信連接數據庫的原代碼啊!(通過rmi),在線等待,急(事例也行,或是有什麼好的網站推進更好)
      

  9.   

    我做了一個rmi,但已經把我的三個原文件編譯.class,也已經得到 .stub.class和skel.class,但是接下來我不知道該做什麼了,我不知道怎麼樣把它運行,請告之,謝謝!
      

  10.   

    使用 RMI开发一个分布式应用包括如下几个步骤
    1)定义一个远端的接口
    2)实现这个远端的接口
    3)开发一个服务端
    4)开发一个客户端
    5)生成Stubs 和Skeletons,运行RMI注册器,服务端 和客户端
    接著還要做什麼,我就不知道了,請知道的告知,謝謝!
      

  11.   

    servlet的客户端和其通信是通过HTTP协议,实际上也不是和SERVLET直接进行通信的,中间是要先经过容器进行处理的。要用APPLET和SERVLET进行通信,可以在APPLET中使用一个WEB组件来和servlet进行通信。而且目前的J2EE平台间的通信协议是RMI/IIOP。
      

  12.   

    RMI我越看越步明白了,如果你知道請指點一二,謝謝!
      

  13.   

    我正在做一个rmi的东西,已经基本可以用了,但是楼上几位让我有点糊涂,rmi怎么和servlet扯上关系了?服务器端定义接口,然后实现,重载接口中的方法,并在rmi协议中注册,客户端查询就行了啊,为什么要写成servlet?
    To SQLException:
    生成残根(_stub)和框架(_skel)后把残根和客户端程序一起打包,框架和服务器端一起打包,然后在命令行下启动rmiregistry,然后java 服务器端,再java 客户端,如果代码没问题就可以看到结果了
      

  14.   

    我用到RMI是这样的考虑:
    APPLET不能直接和数据库交互,因为一般WEB服务器和数据库服务器不在一起的。所以我用RMI服务器连接数据库,RMI客户端(写成APPLET形式)连接RMI服务器,这样就可以用APPLET连接数据库了。
    但对于数据两很大的话,速度就比较慢了。
    当然具体写一个RMI,需要定义接口,定义实现等。这样的例子许多书都讲了。
      

  15.   

    請問在JBuilder6環境下不可以做rmi嗎?如果可以該這麼樣做?
      

  16.   

    原则上应该可以,但是我从来调试到运行rmi都在cmd或者VAJ里运行的,JB没有试验过
      

  17.   

    拒我所知,直接用rmi开发应用程序的很少,他是ejb的基础,如果现在做 分布式开发 大都用ejb和 CORBA.因为采用ejb我们 很少考虑数据的 安全和 完整性....
      

  18.   

    我現在要做一個系統,其中有涉及到這些問題,還希望你們能幫我,我用servlet與db連接,applet與servlet通過rmi通信,把db中的數據顯示在applet上,把applet放到web上,在客戶機器上可以完成瀏覽和打印的功能,請問各位高人,我的思路對不對,我該怎麼樣繼續下去,打印的功能已經實現了,接下來的rmi我怎麼樣冶沒有弄出來!請指教,謝謝!
      

  19.   

    哪裡有jbuilder 7下栽,謝謝!
      

  20.   

    大伙可以参考《JBUILDER开发人员指南》这本书,里面有个详细rmi的例子。
      

  21.   

    具体代码已经在http://www.csdn.net/expert/topic/979/979171.xml?temp=.4404413 这个帖子下面列出了。