posts - 13,comments - 19,trackbacks - 0
          使用BEA Workshop開發ZK應用—安裝篇
          1. 簡介

            本文主要介紹如何使用BEA Workshop配置ZK(http://www.zkoss.org)開發環境。文中以現如今使用比較廣泛的開源Web服務器Tomcat與商業應用服務器BEA WebLogic Server為實驗服務器,結合BEA Workshop為開發工具介紹了ZK開發環境的配置過程以及相關的最佳實踐,幫助大家少走彎路,更好的使用ZK。

          2. 介質準備

            下載地址:http://tomcat.apache.org/download-55.cgi

          3. BEA Workshop配置服務器

            由于ZK是一個基于AJAX技術的展現層開發框架,因此,理論上講ZK可以安裝部署在任何符合J2EE規范的Servlet 容器上。這里我分別選擇了在開源領域與商業領域最為流行的兩個J2EE 服務器:Tomcat(嚴格上講應該被稱作Web服務器)與WebLogic Server作為實驗對象。

            由于BEA Workshop使用了Eclipse的WTP子項目,因此,服務器配置過程都是遵循WTP的方式,這里不再詳述。

            詳情參閱:http://www.eclipse.org/webtools/main.php

            • ZK與Tomcat

              建立ZK應用最簡便的方式是以ZK Demo為起點,這樣省去了很多配置工作。下面我們看看如何在BEA Workshop中配置ZK應用。

              第一步:導入WAR

              導入WAR

              第二步:選擇ZK Demo WAR包

              選擇ZK Demo WAR包

              第三步:拷貝ZK相關Jars文件

              將%ZK_HOME%\dist\lib目錄下的所有jar文件(如果需要更多ZK附加功能,加入ext與zkforge目錄下的jar文件)到WebContent\WEB-INF\lib目錄下。

              第三步:測試

              啟動Tomcat服務器,打開瀏覽器輸入:http://localhost:8080/zkdemo/userguide/index.zul

              輸入:http://localhost:8080/zkdemo/userguide/index.zul

              分析:雖然我們已經成功的建立了一個ZK應用,但是我們也應注意,這個ZK應用的尺寸太過龐大,這是由于ZK框架包含了大量的jar文件,如果我們再新建一個ZK應用,我們不得不把ZK框架相關的jar文件再復制一份到應用的WEB-INF\lib目錄下。另一個問題是如果應用發生變動,整個Web應用需要重新部署時,由于過多的jar文件造成應用重部署速度緩慢。

              解決辦法:我們可以將ZK框架相關的jar包復制到%TOMCAT%\common\lib下,這樣我們就無需在WEB-INF\lib下放入任何ZK框架相關的jar文件,也就是說所有的應用都可以訪問ZK框架相關的jar文件。

              再分析:然而,問題還是存在,這次我們使用ZK,我們把ZK相關的jar文件放入%TOMCAT%\common\lib,那么,如果我們再使用Spring,也把Spring相關的jar文件放入相同的目錄,其結果就是%TOMCAT%\common\lib目錄下jar文件數量不斷增加,并且,各個jar文件版本難以控制;另外,ZK本身也需要大量的配置信息,這些配置信息一部保存在web.xml文件中,同時,WEB-INF/下還有很多配置文件,如:zk.xml、portlet.xml、lang-addon.xml、t3-label.properties等,當我們建立新的ZK應用時,不得不把這些配置信息與配置文件再次復制。這使得部署在Tomcat下的ZK應用難以管理與維護。如何解決這個問題呢?這就要發揮商業軟件的優勢了。

            • ZK與BEA WebLogic Server

              BEA WebLogic Server 9.0及以后的版本引入了一個非常重要的新特性—J2EE共享庫(J2EE Shared Libraries)。通過J2EE共享庫可以將一個J2EE模塊共享給其他企業應用(EAR包或EAR包的展開目錄)的J2EE模塊使用。也許你會覺得這個新特性聽起來很抽象,沒關系,我們結合一個實例來看看她的威力。

              第一步:配置J2EE共享庫

              導入zkdemo(此過程與3.1相同),將項目名改為zk2.3-web-lib,將ZK相關Jar文件復制到WebContent\WEB-INF\lib目錄下(此過程與3.1相同)

              配置J2EE共享庫

              查看WebContent\META-INF的MANIFEST.MF文件,確認包含如下內容:

              Specification-Version: 2.3.0

              Implementation-Version: 2.3.0

              第二步:導入WAR包

              導入WAR包

              生成zk2.3-web-lib.war包

              生成zk2.3-web-lib.war包

              第三步:創建共享庫

              在BEA Workshop “Window“菜單上選擇“Preferences”,然后在左邊導航樹上選擇“WebLogic->J2EE Libraries

              選擇“WebLogic- />J2EE Libraries

              點擊Add,選擇剛生成的zk2.3-web-lib.war

              選擇剛生成的zk2.3-web-lib.war

              第五步:創建WAR項目

              創建名為zktestWAR的WAR項目

              創建名為zktestWAR的WAR項目

              第六步:添加共享庫

              添加共享庫添加共享庫

              其實,這一步就是在weblogic.xml中寫入配置信息,打開weblogic.xml文件可以看到以下內容:

              <?xml version="1.0" encoding="UTF-8"?>
                      <wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
                      <wls:context-root>zktestWAR</wls:context-root>
                      <wls:library-ref>
                      <wls:library-name>zk2.3-web-lib</wls:library-name>
                      <wls:specification-version>2.3.0</wls:specification-version>
                      <wls:implementation-version>2.3.0</wls:implementation-version>
                      <wls:exact-match>true</wls:exact-match>
                      </wls:library-ref>
                      </wls:weblogic-web-app>
                      

              另外,我們也可以通過Merged Projects視圖查看項目信息

              Merged Projects視圖

              在Merged Projects視圖中,斜體字就是被引用的J2EE共享庫資源,正體字是新建項目中的資源,如果我們想覆蓋J2EE共享庫某個資源,可以右鍵點擊該資源,選擇Copy To Project,然后在項目中任意修改被復制的資源。

              Merged Projects視圖Merged Projects視圖2

              第七步:測試

              雖然我們只是建立了一個空的zktestWAR應用,但是由于使用了J2EE共享庫特性,zkdemo中所有的配置信息(如:web.xml)、類庫信息(所有在WEB-INF\lib目錄下的jar文件)、標簽、頁面等都被共享使用。啟動WebLogic Server,部署zktestWAR應用,打開瀏覽器輸入:http://localhost:7001/zktestWAR/userguide/index.zul

              測試

              分析:通過使用J2EE共享庫特性,應用的尺寸變小,其重新部署時間大大縮減。同時,我們可以根據自己的面要配置不同J2EE共享庫,如:Spring、Struts等,應用可以自主決定使用何種J2EE共享庫,無需關注細節。

          4. BEA Workshop開發環境配置

            由于ZK頁面使用的是基于XML的ZUL語言,因此,我們要想開發ZK時使用語法加亮,可以通過配置Eclipse來實現。

            在BEA Workshop “Window“菜單上選擇“Preferences”,然后在左邊導航樹上選擇“General->Content Types

            選擇“General- />Content Types

            當我們打開.zul文件時,就可以看到語法加亮特性了,例如:

            <?xml version="1.0" encoding="UTF-8"?>
                <window title="My First window" border="normal" width="200px">
                Hello,  World!
                </window>

            如果你更喜歡象VB或是SWT Designer那樣的可視化開發環境,也沒有問題,我們可以使用eZing Builder(官方網站:http://ezingbuilder.sourceforge.net/cms/)。安裝eZingBuilder插件如下圖:

            安裝eZingBuilder插件

            看看效果,是不是很炫!!

            看看效果

          5. 總結

            BEA Workshop是一款強大的開發工具,可以用來開發包括ZK在內的各種應用。同時結合高質量的BEA WebLogic Server服務器引擎,大大加速了應用的開發與部署的速度,另外,通過使用BEA WebLogic Server的新特性(如:J2EE共享庫)提高了應用的可管理性與可維護性。

          posted on 2008-06-23 10:14 南山隱士 閱讀(218) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 法库县| 桐乡市| 唐河县| 扶风县| 许昌县| 安康市| 上犹县| 平昌县| 石阡县| 沧源| 哈巴河县| 阿荣旗| 井研县| 延长县| 天祝| 遵义县| 信丰县| 香河县| 罗江县| 昌邑市| 株洲县| 诸城市| 顺义区| 徐闻县| 澜沧| 南昌市| 昭觉县| 盘山县| 沾化县| 绥江县| 乌海市| 庐江县| 儋州市| 凤庆县| 延边| 顺义区| 宜丰县| 六安市| 龙游县| 桦南县| 九台市|