Rendezvous with Rama
Rendezvous with Rama
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
posts - 1, comments - 1, trackbacks - 0
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2006年6月 (1)
文章分類
Eclipse(5)
Java(3)
Linux
文章檔案
2006年6月 (8)
搜索
最新評論
1.?re: 利用webrcp部署富客戶端
不知道webrcp做好*.zip放在哪里,請作者賜教。
--zuzhilong
rmi和httpInvoker
對于富客戶端來說,和服務器端的通訊有很多種方式,不過我一般用的就是rmi或者httpInvoker。
spring為多種遠程調用都提供了包裝:
一。對于RMI來說
?1、服務器端:
<
bean?
class
="org.springframework.remoting.rmi.RmiServiceExporter"
>
??
<
property?
name
="serviceName"
><
value
>
ExampleService
</
value
></
property
>
??
<
property?
name
="service"
><
ref?
bean
="exampleManager"
/></
property
>
??
<
property?
name
="serviceInterface"
><
value
>
com.example.server.service.manager.base.IExampleManager
</
value
></
property
>
??
<
property?
name
="registryPort"
><
value
>
777
</
value
></
property
>
?
</
bean
>
這段spring的配置文件就定義了服務器端的一個bean,可以暴露給客戶端通過RMI方式來訪問了。
examleMaanger這個bean在實現時,完全不需要知道它自己有一天還會被通過rmi方式被遠程訪問。
2、客戶端:
<
bean?
id
="cityService"
?class
="org.springframework.remoting.rmi.RmiProxyFactoryBean"
>
????????
<
property?
name
="serviceUrl"
><
value
>
rmi://localhost:777/CityService
</
value
></
property
>
????????
<
property?
name
="serviceInterface"
><
value
>
com.example.server.service.manager.base.IExampleManager
</
value
></
property
>
????????
<
property?
name
="lookupStubOnStartup"
><
value
>
true
</
value
></
property
>
????????
<
property?
name
="cacheStub"
><
value
>
true
</
value
></
property
>
????
</
bean
>
這段spring的配置文件定義了客戶端的一個bean,這樣就可在客戶端使用exampleManager了,就如同在本地使用一樣,完全沒有什么不同。
二。對于httpInvoker來說,其配置比rmi方式要麻煩一些,而且據說其效率也要比rmi方式差,不過這一點我到沒有親身證實過,只是聽說而已。但是httpInvoker有一個優點卻足以抵消其所有的缺點,那就是它是通過web的端口來訪問的。這樣,只要能夠瀏覽頁面,就能夠進行遠程調用,避免了rmi方式有時無法通過防火墻的問題。
1、服務器端:
httpInvoker需要web容器的支持,因此需要將服務器端程序部署到web容器內。
在web.xml文件中
????
<
listener
>
????????
<
listener-class
>
org.springframework.web.context.ContextLoaderListener
</
listener-class
>
????
</
listener
>
????
<
servlet
>
????????
<
servlet-name
>
remote
</
servlet-name
>
????????
<
servlet-class
>
org.springframework.web.servlet.DispatcherServlet
</
servlet-class
>
????????
<
load-on-startup
>
1
</
load-on-startup
>
????
</
servlet
>
????
<
servlet-mapping
>
????????
<
servlet-name
>
remote
</
servlet-name
>
????????
<
url-pattern
>
/remote/*
</
url-pattern
>
????
</
servlet-mapping
>
注意第一行定義的listener一定要有,否則下面提到的remote-servlet.xml中要引用的bean就會無法找到。
我們定義了一個servlet,名字叫remote,因此在WEB-INF目錄下我們建一個名字為remote-servlet.xml的文件,內容為
<?
xml?version="1.0"?encoding="UTF-8"
?>
<!
DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?
????"http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
????
<
bean?
name
="/exampleService"
?class
="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"
>
????????
<
property?
name
="service"
><
ref?
bean
="exampleManager"
/></
property
>
????????
<
property?
name
="serviceInterface"
>
????????????
<
value
>
com.example.server.service.manager.IExampleManager
</
value
>
????????
</
property
>
????
</
bean
>
</
beans
>
這樣服務器端的配置就完成了。exampleManager這個bean被暴露給了客戶端?
2、客戶端:
<
bean?
id
="exampleService"
?class
="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean"
>
????????
<
property?
name
="serviceUrl"
>
????????????
<
value
>
http://localhost:80/remote/exampleService
</
value
>
????????
</
property
>
????????
<
property?
name
="serviceInterface"
>
????????????
<
value
>
com.example.server.service.manager.IExampleManager
</
value
>
????????
</
property
>
????
</
bean
>
?OK,這樣客戶端的配置就完成了。
posted on 2006-06-02 15:07
Rendezvous with Rama
閱讀(908)
評論(0)
編輯
收藏
所屬分類:
Java
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
rmi和httpInvoker
在eclipse中不需要myeclipse等插件即可啟動基于webwork的web應用的方法
在項目中使用IronTrackSQL進行sql性能監測
Powered by:
BlogJava
Copyright ©2025 Rendezvous with Rama
主站蜘蛛池模板:
成人毛片18岁女人毛片免费看
|
亚洲电影日韩精品
|
亚洲视屏在线观看
|
啦啦啦www免费视频
|
中文字幕a∨在线乱码免费看
|
久久久久亚洲AV成人无码
|
成年在线观看网站免费
|
一级成人a做片免费
|
中文字幕在线观看亚洲
|
国产免费观看黄AV片
|
好紧我太爽了视频免费国产
|
亚洲国产成人无码AV在线
|
亚洲AV无码国产精品色午友在线
|
亚洲AV综合色区无码一区爱AV
|
中文字幕无码成人免费视频
|
久久久久久久久久免免费精品
|
免费永久国产在线视频
|
久久精品无码专区免费东京热
|
色婷婷亚洲一区二区三区
|
亚洲视频一区在线观看
|
中文字幕不卡亚洲
|
在线观看免费宅男视频
|
三年片在线观看免费大全电影
|
国产成人久久精品亚洲小说
|
亚洲视频在线观看不卡
|
精品亚洲综合久久中文字幕
|
性做久久久久免费看
|
18禁止观看免费私人影院
|
成人黄网站片免费视频
|
四虎一区二区成人免费影院网址
|
激情亚洲一区国产精品
|
亚洲AV永久无码精品一百度影院
|
久久久无码精品亚洲日韩蜜臀浪潮
|
亚洲AⅤ视频一区二区三区
|
成人激情免费视频
|
国产免费一区二区三区
|
久久青草免费91观看
|
99精品免费视品
|
一级做a爰全过程免费视频毛片
|
亚洲精品伦理熟女国产一区二区
|
亚洲成人免费电影
|