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

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

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

    鷹翔宇空

    學習和生活

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
    轉自:http://dev2dev.bea.com.cn/bbs/school/index.jsp


    作者:肖菁(dev2devID: powerise), dev2dev版主
      作者在本文中簡單的介紹了Beehive項目,分析了Beehive項目正常運行所需要的軟件、環境,最后給出了在Tomcat容器上安裝、部署Beehive下載包中提供的實例的完整步驟和相關編譯指令。

    關鍵詞: Beehive 簡介 安裝 部署

    1 Beehive簡介
    1.1 Beehive是什么?

      BEA將WebLogic Server 運行時框架的部分實現提取出來,經過修改后提交給Apache,形成了今天的Beehive。
      Beehive體現了BEA公司在WebLogic8.1中加入的幾個特性:JPF(Java Page Flow)、簡化的資源訪問方式—控件、簡化的Web服務開發,這些特性能夠讓J2EE的編程更加簡單;更重要的是,Beehive的運行已經不再依賴于WebLogic Server環境了,而是能夠在絕大多數支持Servlet/JSP 2.3的容器中運行,這讓J2EE的應用開發商能夠提供基于Beehive、同時可以在J2EE平臺間無縫移植的應用。

    1.2 Beehive的組成
      Beehive包括了三部分的內容,分別是:Page Flow、Controls和Web服務。

      1. Page Flow
      基于Struts的一種MVC框架,使用JSR-175解決了Struts配置文件的自動更新,也使Struts開發更容易用IDE工具實現,同時提供了一些更易于使用的特性:

    • 狀態管理
      一個JPF中的所有頁面和處理動作都被看成是一個會話,JPF中聲明的變量在各個頁面均可訪問,包括JavaBean。
      [注] 當用戶離開頁面流時,會話狀態中存儲的數據將自動釋放以便更有效地使用會話數據。所以多個JPF之間是不能共享會話數據的。
    • 豐富的數據綁定功能
      Page Flow中提供了一組標簽庫來實現數據和JSP頁面的顯示標記之間的綁定,讓顯示界面編程更加容易。
    • 集中的異常處理
      可以在一個JPF中處理異常,也可以在Globel.app跨越一組頁面流處理異常信息。很顯然,我們可以很容易為整個應用程序集中的進行異常處理,讓程序更具靈活性——比如常見的登錄超時信息、權限信息等,傳統的方式你應該在每個頁面進行判斷,現在你可以在入口處進行判斷就可以了。

      2. Controls
      創建輕量級J2EE組件的一種框架,您可以不用編寫大量代碼就完成以下常見工作:

    • 壹用于創建訪問資源如數據庫、本地文件、Web服務等資源的組件。
    • 用于封裝企業可重用的業務邏輯等。

      3. Web服務
      JSR-181的一種實現,支持基于Javadoc 批注的Web服務開發方式。

    2 開始工作
      作者的操作系統是Windows2000,下面所有步驟的講解也是針對Windows2000,如果您使用其它操作系統,需要根據下面的步驟做一些相應的調整,如果需要幫助,請通過email:guilaida@163.com和作者取得聯系。

      2.1 工具下載
      1. Servlet容器—Tomcat5.5.8
      為了演示Beehive的可移植性,這里的Servlet不選擇WebLogic Server,而是選擇了Apache的另一個開源項目—Tomcat5.5.8,后面的例子也主要以Tomcat5.5.8為例來講解,如果你使用其他的Servlet容器或者Tomcat的其他版本,請按照您的環境進行相應的調整。
      Tomcat的下載站點:http://jakarta.apache.org/site/binindex.cgi

      2. JDK1.5.X
      因為Tomcat5.X是基于JDK1.5.X而開發的,如果使用JDK其他版本需要另外做些改動,所以為了簡單起見,建議您下載JDK的1.5或者以上版本,我的JDK版本號是1.5.0_01。

      3. Beehive
      Beehive的最新版本是1.0,可以到http://incubator.apache.org/beehive去下載安裝包。

      4. Ant
      Beehive環境準備、程序編譯采用了Ant作為build工具,所以請到http://ant.apache.org下載Ant的最新版本,作者使用的版本是1.6
    [注] 這點應該感謝BEA,他們大大降低了這項工作的復雜度。

      2.2 軟件安裝
      1. 安裝JDK
      后面將用%Java_home%來引用JDK的安裝目錄,如作者安裝在C:\jdk150,那么%Java_home%就表示C:\jdk150這個目錄。

      2. 安裝Tomcat
      將下載的Tomcat壓縮包解壓縮到某個目錄如C:\Tomcat5.5.8下,后面的文章中將用%Tomcat_Home%來表示這個目錄。

      3. 解壓縮Beehive
      將下載的Beehive壓縮包解壓縮到某個目錄如C:\beehive1.0,后面將用%Beehive_Home%來表示這個目錄。

      4. 安裝Ant
      將下載的Ant壓縮包解壓縮到某個目錄如C:\ Ant1.6,后面將用%Ant_Home%來表示這個目錄。

      2.3 讓Beehive的例子跑起來
      Beehive中包括了三方面的內容:Page Flow、Controls和Web Services。Beehive下載包中帶了8個例子,分別演示了各種不同情況,這些例子都位于%Beehive_Home%\ samples目錄中。我們這里先選擇其中的三個簡單的例子-- netui-blank、controls-blank、wsm-blank,分別代表了這三個方向,現在我們開始工作,讓這些例子先跑起來。
      2.3.1 環境設置
      1. 修改%Beehive_Home%\beehiveUser.cmd
      將其中的BEEHIVE_HOME、 JAVA_HOME、 ANT_HOME、CATALINA_HOME等變量設置為各軟件各自對應的安裝目錄。
      下面是作者的beehiveUser.cmd文件的內容:

    @echo off
    REM
    REM Customize this file based on where you install various 3rd party components
    REM such as the JDK, Ant and Tomcat.
    REM

    REM the root of Beehive distribution
    set BEEHIVE_HOME=c:\beehive1.0

    REM location of a JDK
    set JAVA_HOME=C:\JDK150

    REM location of Ant
    set ANT_HOME=Ant1.6

    REM location of Tomcat
    set CATALINA_HOME=C:\tomcat5.5.8

    set PATH=%PATH%;%JAVA_HOME%\bin;%ANT_HOME%\bin

      2. 修改Tomcat的權限設置
      為了讓Tomcat能夠實時部署,需要修改Tomcat的權限設置,主要是修改%Tomcat_Home%\conf\ tomcat-users.xml文件,增加一個manager角色,同時增加一個屬于manager的用戶,作者是將tomcat這個用戶的權限擴大為manager角色了,下面是修改過的tomcat-users.xml:

    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager"/>
    <user username="tomcat" password="tomcat" roles="tomcat,manager"/>
    <user username="role1" password="tomcat" roles="role1"/>
    <user username="both" password="tomcat" roles="tomcat,role1"/>
    </tomcat-users>

      關于Tomcat權限設置,更多的資料請參考Tomcat的幫助文檔。

    2.3.2 讓PageFlow的例子跑起來
      1. 打開一個Dos窗口,進入%Beehive_Home%目錄
      2. 執行beehiveUser.cmd,設置相關環境變量
      3. 準備JPF運行所必須的jar文件和標簽聲明文件(.tld)
      執行ant -f ant\webappRuntimeCore.xml -Dwebapp.dir=%Beehive_home%\samples\netui-blank deploy.beehive.webapp.runtime
      [注] webapp.dir是你的JPF應用的目錄,必須是全路徑,不支持相對路徑
      4. 編譯JPF應用
      執行ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml -Dwebapp.dir=%Beehive_home%\samples\netui-blank build.webapp

      如果編譯成功,你就可以開始下面的步驟了,如果編譯沒有成功,你需要檢查步驟1~4。
      5. 啟動Tomcat
      6. 打開一個瀏覽器
      在地址欄輸入:http://localhost:8080/manager/deploy?path=/pageflow&war=file:C:\beehive1.0\samples\netui-blank&update=true,如果發布成功,瀏覽器中應該輸出OK - Deployed application at context path /pageflow。
      [注]

    • path=/pageflow中的pageflow是你的web應用使用的上下文路徑
    • C:\beehive1.0\samples\netui-blank請替換為你的Beehive中netui_blank例子的絕對路徑

      7. 測試一下
      在瀏覽器中輸入http://localhost:8080/pageflow,如果瀏覽器中輸出如下信息表示你的Page Flow的例子已經可以運行了:New Web Application Page。

    2.3.3 讓Control的例子跑起來
      前面的步驟1~2和2.3.2節中的步驟保持一致,后面的步驟變動如下:
      3. 準備支持Control運行相關的jar文件和標簽聲明文件(.tld)
      執行ant -f ant\webappRuntimeCore.xml -Dwebapp.dir=%Beehive_home%\samples\controls-blank deploy.beehive.webapp.runtime
      4. 編譯控件
      執行ant -f %Beehive_Home%\samples\controls-blank\build.xml build命令編譯controls-blank項目中的控件。
      例子中的控件很簡單,只有一個方法hello,作用是返回字符串“hello!”
      5. 將控件部署到controls-blank環境中
      執行命令: copy %beehive_home%\samples\controls-blank\build\mycontrols.jar %beehive_home%\samples\controls-blank\web-inf\lib,將步驟5中生成的jar文件發布到controls-blank應用的lib目錄下。
      6. 啟動Tomcat
      7. 建立一個jsp文件
    在%beehive_home%\samples\controls-blank目錄下創建一helloworld.jsp文件,文件內容如下:

    <%@ page language="java" contentType="text/html;charset=gb2312"%>
    <%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0" prefix="netui-data"%>
    <%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
    <%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0" prefix="netui-template"%>
    <netui:html>
    <head>
    <title>Control演示實例</title>
    <netui:base/>
    </head>
    <netui:body>
    <jsp:useBean class="pkg.HelloBean" id="helloBean" scope="session"/>
    <h3>Control演示實例--測試頁</h3>
    <p>
    調用演示用Control的hello方法的返回內容是: <strong> <%= helloBean.hello() %> </strong>
    </p>
    </netui:body>
    </netui:html>

      8. 發布Web應用
      應用上下文路徑設定為control,相應的在瀏覽器內輸入如下地址:
    http://localhost:8080/manager/deploy?path=/control&war=file:C:\beehive1.0\samples\controls-blank&update=true
      9. 測試一下
      在瀏覽器內輸入:http://localhost:8080/control/helloworld.jsp,如果環境配置成功,瀏覽器內的返回信息應該如下圖所示:

    2.3.4 讓Web服務的例子跑起來
      前面的步驟1~2和2.3.2節中的步驟保持一致,后面的步驟變動如下:
      3. 準備Web服務運行所必須的jar文件和標簽聲明文件(.tld)
    執行ant -f ant\webappRuntimeCore.xml -Dwebapp.dir=%Beehive_home%\samples\wsm-blank deploy.wsm.webapp.runtime
      4. 編譯演示用的Web 服務
    執行ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml -Dwebapp.dir=%Beehive_home%\samples\wsm-blank build.webapp命令編譯wsm-blank項目中的web服務。
    例子中的Web服務比較簡單,只對外發布了一個不帶參數的方法sayHelloWorld,返回字符串“Hello world!”。
      5. 啟動Tomcat
      6. 發布Web應用
      應用上下文路徑設定為wsm,相應的在瀏覽器內輸入如下地址:
    http://localhost:8080/manager/deploy?path=/control&war=file:C:\beehive1.0\samples\wsm-blank&update=true
      7. 測試一下
      在瀏覽器內輸入:http://localhost:8080/wsm/ ,如果環境配置成功,瀏覽器內的返回信息應該如下圖所示:

      訪問其中的連接“sayHelloWorld”,可以看到訪問該Web服務后的SOAP返回消息:

    3 總結
      本文的內容集中在三個方面:Beehive項目簡介、項目正常運行需要的軟件和環境準備以及如果讓beehive提供的例子在Tomcat平臺上運行的步驟和相關使用命令。
      通過本文的介紹,你應該可以根據不同應用的需要,創建符合要求的Web開發環境,同時能夠熟練的編譯、部署自己的Web應用。
      下一篇文章將是《頁面流入門》,作者將簡單分析頁面流(JPF)框架的運行機制,還通過具體的例子簡單的演示了頁面流框架下如何應用標簽開發用戶界面、實現頁面導航、處理表單提交等基本功能。

    作者簡介:
    姓名:肖菁
    E_mail:guilaida@163.com
      軟件工程師,buildfiledesign項目設計師(buildfiledesign.sourceforge.net),Vivianj技術交流站站長(guilaida.go.nease.net),致力于研究J2EE編程技術、Web Service技術以及他們在 WebSphere、WebLogic、 Apache平臺上的實現。

    posted on 2006-03-05 22:35 TrampEagle 閱讀(879) 評論(0)  編輯  收藏 所屬分類: 技術文摘
    主站蜘蛛池模板: 3344免费播放观看视频 | 久久青青草原亚洲av无码app | 亚洲入口无毒网址你懂的| 国产99视频精品免费专区| 成年性生交大片免费看| youjizz亚洲| 成熟女人牲交片免费观看视频 | 99热在线免费播放| 国产精品无码一二区免费| 亚洲国产欧美国产综合一区| 天天拍拍天天爽免费视频| 亚洲第一成年网站视频| 国产91久久久久久久免费| 特级毛片aaaa免费观看| 亚洲熟妇无码八AV在线播放| 麻豆精品不卡国产免费看| 亚洲午夜无码片在线观看影院猛| www成人免费观看网站| 久久亚洲综合色一区二区三区| 亚在线观看免费视频入口| 亚洲字幕在线观看| 国产国产人免费人成免费视频 | 最近免费字幕中文大全| 婷婷精品国产亚洲AV麻豆不片 | 国产精品免费久久| 久久久久亚洲av无码尤物| 永久免费av无码网站韩国毛片| 亚洲国产综合专区电影在线| 黄色网址免费观看| 亚洲无线一二三四区| 日韩在线视频免费看| 成人免费一区二区三区| 亚洲国产午夜精品理论片| heyzo亚洲精品日韩| 老牛精品亚洲成av人片| 中文字幕在线亚洲精品| 亚洲精品免费在线视频| 羞羞视频免费网站含羞草| 亚洲免费在线视频| 国产精品99久久免费| 久99久精品免费视频热77|