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

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

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

    鷹翔宇空

    學(xué)習(xí)和生活

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


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

    關(guān)鍵詞: Beehive 簡介 安裝 部署

    1 Beehive簡介
    1.1 Beehive是什么?

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

    1.2 Beehive的組成
      Beehive包括了三部分的內(nèi)容,分別是:Page Flow、Controls和Web服務(wù)。

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

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

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

    • 壹用于創(chuàng)建訪問資源如數(shù)據(jù)庫、本地文件、Web服務(wù)等資源的組件。
    • 用于封裝企業(yè)可重用的業(yè)務(wù)邏輯等。

      3. Web服務(wù)
      JSR-181的一種實現(xiàn),支持基于Javadoc 批注的Web服務(wù)開發(fā)方式。

    2 開始工作
      作者的操作系統(tǒng)是Windows2000,下面所有步驟的講解也是針對Windows2000,如果您使用其它操作系統(tǒng),需要根據(jù)下面的步驟做一些相應(yīng)的調(diào)整,如果需要幫助,請通過email:guilaida@163.com和作者取得聯(lián)系。

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

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

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

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

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

    @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的權(quán)限設(shè)置
      為了讓Tomcat能夠?qū)崟r部署,需要修改Tomcat的權(quán)限設(shè)置,主要是修改%Tomcat_Home%\conf\ tomcat-users.xml文件,增加一個manager角色,同時增加一個屬于manager的用戶,作者是將tomcat這個用戶的權(quán)限擴大為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>

      關(guān)于Tomcat權(quán)限設(shè)置,更多的資料請參考Tomcat的幫助文檔。

    2.3.2 讓PageFlow的例子跑起來
      1. 打開一個Dos窗口,進入%Beehive_Home%目錄
      2. 執(zhí)行beehiveUser.cmd,設(shè)置相關(guān)環(huán)境變量
      3. 準備JPF運行所必須的jar文件和標簽聲明文件(.tld)
      執(zhí)行ant -f ant\webappRuntimeCore.xml -Dwebapp.dir=%Beehive_home%\samples\netui-blank deploy.beehive.webapp.runtime
      [注] webapp.dir是你的JPF應(yīng)用的目錄,必須是全路徑,不支持相對路徑
      4. 編譯JPF應(yīng)用
      執(zhí)行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,如果發(fā)布成功,瀏覽器中應(yīng)該輸出OK - Deployed application at context path /pageflow。
      [注]

    • path=/pageflow中的pageflow是你的web應(yīng)用使用的上下文路徑
    • C:\beehive1.0\samples\netui-blank請?zhí)鎿Q為你的Beehive中netui_blank例子的絕對路徑

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

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

    <%@ 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>
    調(diào)用演示用Control的hello方法的返回內(nèi)容是: <strong> <%= helloBean.hello() %> </strong>
    </p>
    </netui:body>
    </netui:html>

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

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

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

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

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

    posted on 2006-03-05 22:35 TrampEagle 閱讀(878) 評論(0)  編輯  收藏 所屬分類: 技術(shù)文摘
    主站蜘蛛池模板: 国产一卡二卡3卡四卡免费| 免费人人潮人人爽一区二区| 香蕉免费看一区二区三区| 国产精品免费视频网站| 亚洲偷自拍另类图片二区| 大地资源在线观看免费高清| 亚洲伊人久久大香线蕉影院| 一本无码人妻在中文字幕免费| 亚洲 日韩经典 中文字幕| 天天操夜夜操免费视频| 亚洲国产成人久久一区二区三区| 国产成人免费a在线视频色戒| 色五月五月丁香亚洲综合网| 免费夜色污私人影院在线观看| yellow视频免费看| 久久亚洲免费视频| 免费在线观看h片| 亚洲色最新高清av网站| 免费h成人黄漫画嘿咻破解版| 一个人看的www在线免费视频| 亚洲AV日韩AV永久无码久久| 99久热只有精品视频免费看| 亚洲影视自拍揄拍愉拍| 日韩免费一区二区三区| 中文字幕av无码不卡免费| 久久精品a亚洲国产v高清不卡 | 久久精品国产99国产精品亚洲| 四虎影视www四虎免费| 成人a毛片视频免费看| 亚洲成A∨人片在线观看不卡| 国产h视频在线观看免费| 亚洲AV第一成肉网| 亚洲不卡av不卡一区二区| 成年在线观看网站免费| 日韩一级片免费观看| 亚洲午夜久久久精品影院| 日韩免费观看的一级毛片| 久爱免费观看在线网站| 亚洲国产成人AV网站| 亚洲AV无码不卡在线播放| 日韩成人免费视频播放|