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

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

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

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Flex2.0中有三種機(jī)制與服務(wù)器交互數(shù)據(jù):RPC(Remote precedure call), Data Service, publish-subscribe messaging
    后面兩種需要Flex Enterprise Service的支持.
    RPC: 發(fā)送異步請求到遠(yuǎn)程服務(wù),并將結(jié)果直接返回給Flex應(yīng)用.
    RPC服務(wù)可以是HTTP URL, SOAP兼容的Web service, Java Web應(yīng)用的Java對象. 客戶端的RPC服務(wù)組件是HTTPService, WebService和Remoting Object.
    HTTPService和WebService的使用不需要Flex Enterprise service的支持. Remoting Object必須有Flex Enterprise service的支持.
    缺省情況下,Flash Player不允許跨域訪問.因此,RPC服務(wù)必須在同一個域中,或者在crossdomain.xml文件中定義.

    RemoteObject組件使得可以使用服務(wù)端對象的方法, 而不需要將其配置成WebService. 你需要將服務(wù)端對象配置成遠(yuǎn)程服務(wù)目標(biāo).
    WebService組件使得可以與Web Services交互. Web Services需要在WSDL文件中配置
    HTTPService組件可以接收和發(fā)送HTTP GET, POST請求. HTTPServie在不能將接口定義為WebSerice和RemotingObject的時候,是一個非常好的選擇.
    比如: JSP, Servlet, Asp等等.

    Flex應(yīng)用將會被編譯成二進(jìn)制的SWF文件,送到客戶端. 當(dāng)Flex應(yīng)用與外部服務(wù)交互時, SWF不需要重新編譯,也不需要再次刷新.

    可以直接使用Web Services或者HTTP Services, 而不需要在服務(wù)器的文件中進(jìn)行配置. 方法如下:
    在HTTPService組件中在url屬性中直接引用wsdl值, 而不使用destination屬性, 并且將useProxy屬性設(shè)置為false
    <mx:HTTPService
    id="yahoo_web_search"
    url="

    <mx:WebService
    id="macr_news"
    wsdl="

    或者在Action Script中這樣使用:
    // Import required packages.
    import mx.rpc.http.HTTPService;
    import mx.rpc.soap.WebService;

    // Declare an HTTPService component.
    private var yahoo_web_search:mx.rpc.http.HTTPService = new HTTPService();
    yahoo_web_search.url =
    "
    empoyeeHTTP.useProxy = false;

    // Declare a WebService component.
    private var macr_news:mx.rpc.soap.WebService = new WebService();
    macr_news.wsdl = "
    macr_news.useProxy = false;

    RPC Service組件的destination屬性引用一個Flex Enterprise Services定義的一個目標(biāo).

    posted @ 2006-03-01 01:16 云自無心水自閑 閱讀(1696) | 評論 (0)編輯 收藏

    今天一個項目要使用RMI,于是開始寫了一個小示例運行一下。
    1. 寫接口繼承Remote,并給出要實現(xiàn)的方法
    2. 寫一個方法繼承UnicastRemoteObject,并實現(xiàn)上面的接口
    3. 寫Server,進(jìn)行Naming.rebind
    4. 運行rmic(在JDK的bin目錄,而不是在JDK\jre\bin目錄下)生成Stub。
    這中間有一個小麻煩,舉例來說如果第2步中的類名是TestObj,放在com.test包中。
    那么典型的目錄結(jié)構(gòu)是WEB-INF\classes\com\test目錄下有一個TestObj.class
    這時候需要在WEB-INF\classes目錄下運行命令 rmic com.test.TestObj
    注意:如何運行的路徑和方式不正確的話, 會出現(xiàn)找不到TestObj.class的錯誤.
    5. 寫Client端代碼,Naming.lookup. 然后調(diào)用遠(yuǎn)程方法。
    6. 運行start rmiregistry
    7. java com.test.TestObjServer, 這時候出問題了,總是報告說找不到TestObj_Stub.class,奇怪啊,這個Class明明很安靜地躺在目錄下啊?
    經(jīng)過一番查找,最后目標(biāo)鎖定在java的版本上,因為機(jī)器安裝了Oracle,而Oracle自帶了JDK,而且版本較低,在環(huán)境變量中調(diào)換了JDK使用的順序,重新運行命令。
    成功了!
    8. 生成policy.txt
    9. java -Djava.security.policy=policy.txt TestObjClient
    得到正確結(jié)果!

    注意點:
    啟動server時如果遇到找不到stub問題,原因是rmiregistry找不到stub,而不是java com.Server找不到stub,解決方法,在stub的類同一個目錄下啟動rmiregistry.

    posted @ 2006-03-01 00:58 云自無心水自閑 閱讀(3589) | 評論 (0)編輯 收藏

    spring不重復(fù)發(fā)明輪子。Spring使你能創(chuàng)建一個一致的、可管理的系統(tǒng)應(yīng)用。

    Spring可以集成的框架包括:
    1. 持久框架
    Hibernate
    JDO implementation
    TopLink
    Apache OJB
    iBATIS

    所有的集成方式是統(tǒng)一的。Spring使用DAO接口,都拋出DataAcessException異常。
    Spring提供helpers(比如模板)實現(xiàn)統(tǒng)一的編程風(fēng)格。
    如果要使用SQL-BASED的數(shù)據(jù)存取,那么Spring自身的JDBC Framework是適合的。
    重要的是:Spring允許你混合使用數(shù)據(jù)存取的方法---比如:Hibernate和JDBC代碼共用一個數(shù)據(jù)庫連接。這對于復(fù)雜的應(yīng)用來說是非常有益的,因為使用單獨的持久框架很可能不能完成所有的持久操作。

    2. Web framework
    Struts
    WebWork
    Spring MVC
    Tapestry
    JSF

    Spring對于Web框架的集成與持久框架的集成是不一樣的。Spring提供了自己完整的Web框架。Spring在與其他Web框架很好集成的同時,提供一些特殊的便利給自己的Web框架。比如:使用一些先進(jìn)的依賴注入功能,或者應(yīng)用AOP建議到Web控制中。

    3. AOP Framework
    Spring提供基于代理的AOP框架,這可以解決大多數(shù)J2EE應(yīng)用的問題。
    但是如果你需要使用一些基于代理的框架無法提供的功能,比如:用new創(chuàng)建對象,而且不由任何工廠管理。
    為支持這種需求,Spring集成了AspectJ和AspectWerkz,2種最好的基于類交織的AOP框架。

    4. Other Framework
    Spring還可以和許多框架集成,Quartz Scheduler,Jasper Reporter, Velocity,F(xiàn)reeMaker 模板引擎。

    posted @ 2006-02-25 22:14 云自無心水自閑 閱讀(326) | 評論 (0)編輯 收藏

    一個統(tǒng)一的異常層次結(jié)構(gòu)對于提供服務(wù)抽象是必需的. 最重要的就是org.springframework.dao.DataAccessException以及其子類了. 需要強調(diào)的是Spring的異常機(jī)制重點在于應(yīng)用編程模型. 與SqlException和其他數(shù)據(jù)存取API不同的是: Spring的異常機(jī)制是為了讓開發(fā)者使用最少, 最清晰的代碼.

    DataAccessException和其他底層異常都是非檢查性異常(unchecked exception). spring的原則之一就是基層異常就應(yīng)該是非檢查性異常. 原因如下:
    1. 基層異常通常來說是不可恢復(fù)的.
    2. 檢查性異常將會降低異常層次結(jié)構(gòu)的價值.如果底層異常是檢查性的, 那么就需要在所有地方添加catch語句進(jìn)行捕獲.
    3.try/catch代碼塊冗長混亂, 而且不增加多少價值.
    使用檢查異常理論上很好, 但是實際上好象并不如此.
    Hibernate3也將從檢查性異常轉(zhuǎn)為非檢查性異常.

    posted @ 2006-02-17 00:08 云自無心水自閑 閱讀(447) | 評論 (0)編輯 收藏

    1. 創(chuàng)建J2EE工程
    2. 在windows->preference->MyEclipse正確配置Tomcat5(需要Tomcat5以上)設(shè)置
    3. Deployee MyEclipse J2ee Project to server(也就是點工具欄中MyEclipse的第1個按鈕)
    4. 點擊Add, 將工程部署到Tomcat中.
    5. Run Appliction Server, 選擇Tomcat5
    然后, 在Jsp中設(shè)置斷點, IE中瀏覽相應(yīng)的網(wǎng)頁時, 就會跳到Debug Perpective中了, 在視圖中可以在.jsp中調(diào)試.


    遇到的問題和解決:
    如何Tomcat設(shè)置的JRE路徑是指到完整的JDK的bin目錄, 比如: d:\jdK1.5\bin
    在Run Application Server時會遇到
    " A configuration error occurred during startup. Please verify the
    preference filed with the prompt: Transport dt_socket failed to
    initialize, rc = 509. " 錯誤.
    解決方法: 把d:\jdK1.5\jre\bin目錄下的dt_socket.dll拷貝到d:\jdK1.5\bin目錄下.

    posted @ 2006-02-16 16:19 云自無心水自閑 閱讀(2695) | 評論 (0)編輯 收藏

    在main.jsp中加入下面的語句
    <jsp:include page="footer.jsp" flush="true" />

    結(jié)果main.jsp中的中文能夠正確顯示, 而footer.jsp的頁面中文亂碼.

    方法:
    在footer.jsp中, 添加<%@ page contentType="text/html;charset=GBK"%>這一行.

    posted @ 2006-02-16 10:30 云自無心水自閑 閱讀(1659) | 評論 (0)編輯 收藏

    Spring這個三角形一共有三條邊
    第一條邊: IoC
    第二條邊: AOP
    這兩條邊不需要多說了.

    那么第三條邊是什么呢:
    3. Service Abstraction

    Spring使用service abstraction而不依賴于標(biāo)準(zhǔn)J2ee的API(比如: JNDI)或者其他的開源項目(比如Hibernate), 原因如下:
    1. 是否依賴于特定的API取決于API的本身而不是起源(原文:Whether it's desirable to depend on a particular API depends more on the nature of that API than its provenance). 比如: 如果依賴于一個特定的API導(dǎo)致單元測試?yán)щy的話, 就應(yīng)該進(jìn)行抽象封裝. 典型的例子就是: JavaMail.
    2. 依賴于Spring, 可以把依賴關(guān)系控制在一個比較小的范圍之內(nèi), 只與一系列接口相關(guān). 這種依賴簡單而明確.
    3. Spring的抽象接口適用范圍廣.  而如果你綁定了JTA, 那么你如果使用的是Tomcat的話, 就還需要加一個JTA的第三方實現(xiàn).
    4. Spring的API是面向程序開發(fā)員的, 而不是藏在幕后的. 比如JTA就是藏在EJB之后,因此JTA的異常處理就非常麻煩.

    正是這三條邊組成了一個穩(wěn)定的Spring三角形.

    posted @ 2006-02-15 22:51 云自無心水自閑 閱讀(285) | 評論 (0)編輯 收藏

    僅列出標(biāo)題
    共29頁: First 上一頁 21 22 23 24 25 26 27 28 29 
    主站蜘蛛池模板: 免费中文字幕不卡视频| 中文字幕无码免费久久9一区9| 自怕偷自怕亚洲精品| 亚洲成人免费在线观看| 成人毛片免费观看视频大全| 无码中文字幕av免费放| 女人18毛片免费观看| 国产成人aaa在线视频免费观看| 乱淫片免费影院观看| 久久精品免费网站网| 曰批全过程免费视频网址| 亚洲成在人线aⅴ免费毛片| 亚洲第一页综合图片自拍| aaa毛片视频免费观看| 中文字幕免费在线看线人动作大片| 国产精品内射视频免费| 亚洲高清免费在线观看| 亚洲人成综合在线播放| 中文字幕不卡亚洲| 亚洲av无码精品网站| 免费一级黄色毛片| 久久久亚洲精品无码| 亚洲精品A在线观看| 亚洲第一成年人网站| 亚洲中文字幕无码一区| 亚洲精品人成电影网| 亚洲图片在线观看| 妞干网免费视频在线观看| 成熟女人牲交片免费观看视频| 国产免费看插插插视频| 久久久久免费看成人影片| 亚洲无成人网77777| 亚洲国产精品无码久久98| 国产A∨免费精品视频| 曰批全过程免费视频播放网站| 免费观看男人免费桶女人视频| 亚洲无线码在线一区观看| 亚洲偷偷自拍高清| 青柠影视在线观看免费| 亚洲男人的天堂网站| 久久午夜免费鲁丝片|