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. Bzoj3942 Censoring(KMP)

    \(KMP\)问题的核心在于数组\(next\)(或者\(pre\)/\(fail\),各种叫法),几乎所有的此类型题都是需要计算\(next\)的. 这里解释一波\(next\):即满足字符子串\( ...

  2. Codeforces Round #307 (Div. 2) E. GukiZ and GukiZiana(分块)

    E. GukiZ and GukiZiana time limit per test 10 seconds memory limit per test 256 megabytes input stan ...

  3. 【leetcode】200. Number of Islands

    原题: Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is s ...

  4. java中ThreadLocal类的使用

    ThreadLocal是解决线程安全问题一个很好的思路,ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本,由于Key值不可重复, ...

  5. 【数位dp】【二分】Gym - 101411H - Hotel in Ves Lagos

    数位dp预处理之后,可以容易得到f(x),代表小于等于x的数中,有多少个不含13的.然后就能二分答案啦. #include<cstdio> #include<iostream> ...

  6. 20162307 实验四 Android程序设计

    实验四 <Android程序设计> 北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级:1623 姓名:张韵琪 学号:20162307 指导教师:娄佳鹏老师.王 ...

  7. python实现多播数据的发送和接收

    在项目中,YS私有协议用到多播技术,在验证其安全特性时用到python去发送多播包,在此做个记录. 多播服务器用于向多播组发送多播数据包,其实现代码如下: #coding:utf-, import s ...

  8. Code Simplicity

    https://www.codesimplicity.com/post/code-simplicity-the-science-of-software-development/ 下载地址: https ...

  9. DB2数据库性能调整和优化(第2版)

    <DB2数据库性能调整和优化(第2版)> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302325260 上架时间:2013-7-3 出版日期:2013 年7月 开 ...

  10. 微信自动抢红包android实现

    AccessibilityService-微信自动抢红包 2018年02月01日 16:09:06 阅读数:1757 在领导发红包的时候,看到有些同事在1s.2s抢到红包,为什么他们能够这么快?一定是 ...