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

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

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

    [導入]通過Spring進行遠程服務訪問

    Posted on 2007-03-01 17:05 Java.net 閱讀(442) 評論(0)  編輯  收藏 所屬分類: 開源項目

    網站:JavaEye 作者:jvincent 發表時間: 2007-03-01 17:05 此文章來自于 http://www.JavaEye.com
    聲明:本文系JavaEye網站原創文章,未經JavaEye網站或者作者本人書面許可,任何其他網站嚴禁擅自發表本文,否則必將追究法律責任!
    原文鏈接: http://xzgf.javaeye.com/blog/56776

    最近在做一個項目開發框架.前臺使用Applet,服務器端最先考慮使用EJB3進行開發,但由于EJB采用的是RMI-IIOP協議進行底層數據傳輸,難于跨越防火墻,故考慮使用Spring提供的遠程服務訪問技術進行服務器端的編程.測試成功,記錄下來..


    環境:Eclipse3.2.2 JDK1.5 Spring2.0.2


    1、由于客戶端采用Applet,需要下載代碼到客戶端,簡單起見,將所有的class都打包在一個jar包中,供客戶端下載.以后考慮對下載的類進行緩存,以提高應用效率.

    2、在IE中對applet進行配置,通過classid可以檢測客戶端的jre環境,如果不是需要的jdk版本,這里為1.5,則通過/Client下的客戶端程序進行下載.由于應用定位于局域網中,下載一個20多M的程序應該不成問題..

    3、applet訪問本地資源的策略略過,有興趣的可以留言....


    下面主要介紹一下如果在Spring2.0.2中進行遠程服務訪問

    1、定義客戶端接口,此接口是暴露給客戶端的....


    接口中只有一個方法sayHello,作用是;根據客戶端傳入的str,傳到服務器端連接一個字符串,再傳到客戶端.


    2、定義一個類,實現IHelloWorld接口.


    3、接下來就是通過xml文件進行組件的配置..

    Spring的遠程服務訪問是通過org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter和org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean 兩個類來實現的.HttpInvokerServiceExporter負責將定義的服務進行導出,是目標服務暴露出來.HttpInvokerProxyFactoryBean 負責客戶端代理.將http的post請求定位到指定的服務.默認情況下,Spring使用J2SE的http功能.可以通過注入將commons的httpclient指定給HttpInvokerProxyFactoryBean..

    步驟:

    1、web.xml文件:添加org.springframework.web.context.ContextLoaderListener監聽.定義一個org.springframework.web.servlet.DispatcherServlet

    命名為 httpinvoker..之后當服務器啟動是會自動到WEB-INF下尋找httpinvoker-servlet.xml文件進行bean初始化.

    之后定義一個servlet-mapping,使所有以/http/結尾的請求全部定位到httpinvoker Servlet上

    2、applicationContext.xml 定義一個Bean  初始化HelloWorldImpl.

    3、httpinvoker-servlet.xml 定義兩個Bean BeanNameUrlHandlerMapping用于根據BeanName進行映射...HttpInvokerServiceExporter用于遠程服務導出.

    4、以上三步就已經完成了遠程服務的復制工作.以下實現客戶端的調用配置.clientContext.xml用于配置客戶端的訪問..即指定服務器的地址、端口等基礎信息.

    5、最后就可以在代碼進行初始化clientContext.xml文件,通過ctx.getBean(helloWorldService);來進行訪問了.


     


    java 代碼




    1. public class HelloWorldImpl implements IHelloWorld {   
    2.     public String sayHello(String str) {   
    3.         return str +  " ,  歡迎使用Spring遠程服務訪問..."  
    4.     }   
    5. }   


     


    java 代碼




    1. public interface IHelloWorld {    
    2.     public  String sayHello(String str);   
    3. }   

     




    《 通過Spring進行遠程服務訪問 》 的評論也很精彩,歡迎您也添加評論。查看詳細 >>

    推薦相關文章:
      Google Guice - 比Spring快100倍的IoC容器
      關于Service和DAO層的功能劃分的迷惑




    JavaEye推薦
    廣州:夢境網絡公司:薪水+期權誠聘高級人才 C++工程師 和 Java工程師
    北京:高薪誠聘Ruby on Rails高手: 月薪15-25K
    上海:尤恩斯國際集團:誠聘開發工程師
    北京:優秀公司NHNChina招聘:WEB開發,系統管理,JAVA開發, DBA



    文章來源: http://xzgf.javaeye.com/blog/56776

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av中文无码| 久久精品免费电影| 自拍偷自拍亚洲精品播放| 国产成人精品日本亚洲直接| 亚洲精品视频免费在线观看| 亚洲va在线va天堂va四虎 | 一个人免费观看视频在线中文 | 亚洲第一成年网站大全亚洲| 青青草原精品国产亚洲av| 亚洲欧洲在线观看| 亚洲视频国产精品| 亚洲一卡2卡3卡4卡国产网站| 亚洲人成伊人成综合网久久| 亚洲性色AV日韩在线观看| 亚洲精品无码永久在线观看男男| 亚洲精品蜜夜内射| 国产亚洲情侣久久精品| 污污视频免费观看网站| 三年片免费观看大全国语| 免费成人在线视频观看| 1a级毛片免费观看| 在线视频免费观看www动漫| 国产在线观看www鲁啊鲁免费| 亚洲精品99久久久久中文字幕| 自拍偷自拍亚洲精品情侣| 亚洲无线电影官网| 67194在线午夜亚洲| 久久精品国产亚洲AV未满十八| 男女污污污超污视频免费在线看| 两性色午夜视频免费播放| 伊人久久免费视频| 两个人的视频高清在线观看免费 | 任你躁在线精品免费| 13一14周岁毛片免费| 日本特黄特色免费大片| 亚洲日韩中文在线精品第一| 亚洲欧洲在线观看| 亚洲精品无码一区二区 | 国产精品亚洲精品青青青| 另类图片亚洲校园小说区| 久热免费在线视频|