服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 安装配置 > 查看文档

使用bea workshop开发zk应用―安装篇

  简介

  本文主要介绍如何使用bea workshop配置zk(http://www.zkoss.org)开发环境。文中以现如今使用比较广泛的开源web服务器tomcat与商业应用服务器bea weblogic server为实验服务器,结合bea workshop为开发工具介绍了zk开发环境的配置过程以及相关的最佳实践,帮助大家少走弯路,更好的使用zk。

  介质准备

  bea weblogic server 10:bea weblogic server 10中自带了bea workshop for weblogic platform开发工具,因此,无需单独下载bea workshop。

  下载地址:http://commerce.bea.com/products/weblogicplatform/weblogic_prod_fam.jsp

  zk 2.3:此版本是2007年3月20日发布的zk最新版。

  下载地址:http://www.zkoss.org/release/rn-2.3.0.dsp

  apache tomcat 5.5.23

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

  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共享库,无需关注细节。

  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插件

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

看看效果

  总结

  bea workshop是一款强大的开发工具,可以用来开发包括zk在内的各种应用。同时结合高质量的bea weblogic server服务器引擎,大大加速了应用的开发与部署的速度,另外,通过使用bea weblogic server的新特性(如:j2ee共享库)提高了应用的可管理性与可维护性。

扫描关注微信公众号