<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 1,  comments - 1,  trackbacks - 0
    對于富客戶端來說,和服務器端的通訊有很多種方式,不過我一般用的就是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
    主站蜘蛛池模板: h片在线播放免费高清| 亚洲高清视频免费| 91天堂素人精品系列全集亚洲| 3344永久在线观看视频免费首页 | 久久黄色免费网站| 亚洲最大av资源站无码av网址| 亚洲国产精品尤物yw在线| 特级精品毛片免费观看| 久久精品亚洲日本波多野结衣| 亚洲男人都懂得羞羞网站| 日韩午夜免费视频| 久久香蕉国产线看免费| 美女视频黄视大全视频免费的| 亚洲a在线视频视频| 日韩精品亚洲专区在线观看| 亚洲电影免费观看| a一级爱做片免费| 亚洲精品乱码久久久久久蜜桃图片 | 67pao强力打造国产免费| 国产亚洲精品仙踪林在线播放| 噜噜噜亚洲色成人网站∨| 亚洲成人影院在线观看| 岛国大片免费在线观看| 免费A级毛片无码A∨| 一级黄色免费毛片| 亚洲av纯肉无码精品动漫| 亚洲永久中文字幕在线| 国产亚洲精品拍拍拍拍拍| 免费无码又爽又刺激高潮| 久久精品无码专区免费青青| japanese色国产在线看免费| 亚洲av无码专区在线观看下载 | 亚美影视免费在线观看| 亚洲AV无码精品国产成人| 亚洲午夜一区二区电影院| 亚洲成av人影院| 亚洲精品亚洲人成在线观看| 亚洲精品乱码久久久久久蜜桃| 免费无码黄动漫在线观看| 中文字幕av无码无卡免费| 91热成人精品国产免费|