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. HDU 6065 RXD, tree and sequence (LCA DP)

    RXD, tree and sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java ...

  2. 【BZOJ 1998】 1998: [Hnoi2010]Fsk物品调度(双向链表+并查集+置换)

    1998: [Hnoi2010]Fsk物品调度 Description 现在找工作不容易,Lostmonkey费了好大劲才得到fsk公司基层流水线操作员的职位.流水线上有n个位置,从0到n-1依次编号 ...

  3. Find K Pairs with Smallest Sums -- LeetCode

    You are given two integer arrays nums1 and nums2 sorted in ascending order and an integer k. Define ...

  4. 【BFS】Tester Program

    [poj1024]Tester Program Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2760   Accepted ...

  5. HDU 6052 To my boyfriend(悬线法)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6052 [题目大意] 给出一个数字矩阵,求子矩阵期望数字种数 [题解] 我们统计[x,y]为其所表示 ...

  6. (原创)Stanford Machine Learning (by Andrew NG) --- (week 8) Clustering & Dimensionality Reduction

    本周主要介绍了聚类算法和特征降维方法,聚类算法包括K-means的相关概念.优化目标.聚类中心等内容:特征降维包括降维的缘由.算法描述.压缩重建等内容.coursera上面Andrew NG的Mach ...

  7. MySQL中变量的定义和变量的赋值使用(转)

    说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解. 前 ...

  8. Educational Codeforces Round 9 B. Alice, Bob, Two Teams 前缀和

    B. Alice, Bob, Two Teams 题目连接: http://www.codeforces.com/contest/632/problem/B Description Alice and ...

  9. 技术分享:杂谈如何绕过WAF(Web应用防火墙)(转)

    0×01开场白 这个议题呢,主要是教大家一个思路,而不是把现成准备好的代码放给大家. 可能在大家眼中WAF(Web应用防火墙)就是"不要脸"的代名词.如果没有他,我们的" ...

  10. threadlocal彻底理解,深刻

    本文转自http://blog.csdn.net/huachao1001/article/details/51970237 ThreadLocal的使用相信大家都比较熟悉,但是ThreadLocal内 ...