1、先去ZK官网注册一个账号

2、在MyEclipse菜单栏中Help----Eclipse Marketplace中搜索ZK Studio,点击install安装即可
     
 
3、相关类库
bsh.jar:BeanShell Java代码解析器
commons-el.jar:Apache的表达式语言(EL)解析器类库
commons-fileupload.jar:Apache的文件上传类库
commons-io.jar:Apache的I/O流处理类库(和文件上传包一起使用)
dojoz.jar:Dojo Ajax工具箱——相关的组件
fakez.jar:FCKeditor HTML编辑器——相关的组件
gmapsz.jar:Google地图——相关的组件
zcommon.jar:ZK的通用类库
zhtml.jar:XTHML——相关的组件
zk.jar:ZK内核代码
zkplus.jar:Acegi Security,Spring,Hibernate和数据库绑定的继承代码
zul.jar:XUL——相关的组建
zweb.jar:Web——相关的实用代码
 
4、配置web.xml
<listener>
<display-name>ZK Session cleaner</javaee:display-name>
<listener-class>org.zkoss.zk.ui.http.HttpSessionListener</javaee:listener-class>
</listener> <servlet>
<servlet-name>zkLoader</servlet-name>
<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
<init-param>
<param-name>update-uri</javaee:param-name>
<param-value>/zkau</javaee:param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet>
<servlet-name>auEngine</servlet-name>
<servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>zkLoader</servlet-name>
<url-pattern>*.zul</url-pattern>
</servlet-mapping> <servlet-mapping>
<servlet-name>zkLoader</servlet-name>
<url-pattern>*.zhtml</url-pattern>
</servlet-mapping> <!-- richlet的可选配置 -->
<servlet-mapping>
<servlet-name>zkLoader</servlet-name>
<url-pattern>/zk/*</url-pattern>
</servlet-mapping> <servlet-mapping>
<servlet-name>auEngine</servlet-name>
<url-pattern>/zkau/*</url-pattern>
</servlet-mapping>

两个Servlet是DHtmlLayoutServlet和DHtmlUpdateServlet。其中DHtml layout servlet命名为zkLoader,它负责加载ZUMLy页面。同时,当servlet容器接受到来自浏览器请求时,会根据页面的定义创建这些组件。DHtml update servlet被命名为auEngine,它负责处理ZK的事件请求(一个基于Ajax的XMLHttpRequest)。zkLoader的update-uri必须和auEngine的uri-pattern保持一致,否则web应用不能正常运行。

    除了使用ZMUL来构建zk web外,还可以使用richlet来构建纯Java的Web应用。每一个richlet都是一个晓得java程序,负责创建所有需要的组件去响应用户的请求。
 
5、配置zk.xml
<!-- 可选配置 -->
<!--
你可以定义如下任何数量的richlet
注意:要使用一个richlet,必须在web.xml中映射zkLoader到/xx/*,这个xx可以是任何吗,名字,
并且最终的URL应该是/xx/richlet-url.
-->
<richlet>
<richlet-class>org.zkoss.zkdemo.test.TestRichlet</richlet-class>
<richlet-url>/test</richlet-url>
<!-- 任意多个初始化参数
<init-param>
<param-name>any</param-name>
<param-value>any</param-value>
</init-param>
-->
</richlet>
<!-- 可选配置 -->
<session-config>
<!-- 一个空URL将导致浏览器重新加载同样的URL -->
<timeout-uri>/timeout.zul</timeout-uri>
</session-config>
<!-- 可选配置 -->
<listener>
<listener-class>org.zkoss.zk.ui.util.Statisic</listener-class>
</listener>

  richlet必须和web.xml文件中所定义的richlet URL pattern 一同工作,用来决定哪个richlet类处理特定的URL pattern的请求。比如http://localhost:8080/zkdemo-all/test这个URL的请求应该由指定的org.zkoss.zkdemo.test.TestRichlet类来进行处理。

       session-config为ZK Web应用定义了回话属性。其中timeout-url是一个子属性,它定义了一个web页面在绘画超时后的响应。如果这个属性值保留空白,那么浏览器重新加载同样的URL。
      监听器被用来配置可选的自定义回调监听器类,这个类需要使用Java来编写,而且它是由开发人员自己实现的。Statistic这个Java来将负责收集页面读/写操作统计工作。
 
 
 
 

ZK框架笔记2、ZK框架安装、相关类库、web及zk配置的更多相关文章

  1. [Java] SSH框架笔记_SSH三大框架的工作原理及流程

    Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...

  2. STM32学习笔记 —— 0.1 Keil5安装和DAP仿真下载器配置的相关问题与注意事项

    Keil5安装的注意事项 安装细节在此不再做过多赘述,主要介绍一下注意事项: 安装路径中不能有中文. ARM的Keil的路径不能与51的Keil的有冲突,必须将目录分开. Keil5中不会自动添加芯片 ...

  3. ZK框架笔记1、ZK Ajax框架简介

    简介    ZK是一个基于事件驱动和组件的框架,他为web应用提供了丰富的接口.zk包括一个基于Ajax的事件驱动引擎.一整套丰富的XML用户接口语言(XML User Interface Langu ...

  4. hadoop 学习笔记:mapreduce框架详解

    开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...

  5. Hadoop学习笔记:MapReduce框架详解

    开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...

  6. 【Big Data - Hadoop - MapReduce】hadoop 学习笔记:MapReduce框架详解

    开始聊MapReduce,MapReduce是Hadoop的计算框架,我学Hadoop是从Hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...

  7. Python学习笔记_04:Django框架简介

    目录 1 什么是Django? 2 Django框架的开发环境搭建 3 Django操作MySql数据库简介 4 功能强大的Django管理工具应用 1 什么是Django? Django是应用于We ...

  8. python单元测试框架笔记

    目录 单元测试概述 什么是单元测试 单元测试什么进行? 单元测试由谁负责? 单元测试需要注意 单元测试覆盖类型 python 单元测试框架 unittest pytest 测试框架 单元测试概述 什么 ...

  9. Android 学习笔记之AndBase框架学习(七) SlidingMenu滑动菜单的实现

    PS:努力的往前飞..再累也无所谓.. 学习内容: 1.使用SlidingMenu实现滑动菜单..   SlidingMenu滑动菜单..滑动菜单在绝大多数app中也是存在的..非常的实用..Gith ...

随机推荐

  1. 一个Bean属性拷贝的工具类

    package com.fpi.spring.qaepb.cps.util; import java.beans.IntrospectionException; import java.beans.P ...

  2. 德州扑克AI

    德州扑克: 1:outs数,就是所听的牌的数量. 例子: 1:听顺子 4567 outs数就是8,能够成顺子的牌为3和8. 5689 outs数就是4,能够成顺子的牌只有7. 2:听同花     35 ...

  3. 安装Windows渗透环境工具--PentestBox

    PentestBox不同于运行在虚拟机或者双启动环境的Linux渗透测试发行版. 它打包了所有的安全工具,并且可以在Windows系统中原生地运行,有效地降低了对虚拟机或者双启动环境的需求. 下载地址 ...

  4. Linux命令之unzip

    unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s)…] [-x xfile(s)…] [-d exdir] unzip将 ...

  5. jvm 哪些是不会被gc回收的

    韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha 313134555@qq.com

  6. 计蒜客NOIP2018模拟1

    https://www.jisuanke.com/contest/1152 T1:最失败的一道题,其实就是道水题,好几种写法,一种都没想出来. 题意转化后就是:每个数可以选a[i]和a[i]-k,最后 ...

  7. 「2018山东一轮集训」Game

    %%神仙题 首先转化一波模型:可以把原问题看成,初始每个位置有0/1个石子,1操作看成从一个位置拿走一个石子,2操作看成从l[i]拿走一个石子,并在[ l[i]+1 , r[i] ]的每个位置放上一个 ...

  8. 【线段树】Mayor's posters

    [poj2528]Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 66154   Accept ...

  9. BZOJ 1828 [Usaco2010 Mar]balloc 农场分配(贪心+线段树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1828 [题目大意] 现在有一些线段[l,r]的需求需要满足,i位置最多允许a[i]条线 ...

  10. CentOS 5/6安装后的必备设置(转)

    说明:转自各大优化方案,相当于是一个大杂烩,后续会搞成是一个Shell脚本简化操作. 1.修改ip地址.网关.主机名.DNS等 (这个操作可以使用Setup工具进行配置,但不建议使用,封装太多,没有配 ...