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. WAR/EAR 概念

    In J2EE application, modules are packaged as EAR, JAR and WAR based on their functionality JAR: EJB ...

  2. 通过myEclipse创建hibernate的实体类

    今天有个新项目中需要使用到hibernate,刚好数据库表已经创建完毕,就顺便来总结一下通过myEclipse创建hibernate的实体类. 1..在myEclipse中选择MyEclipse Da ...

  3. 【递推】【组合数】【容斥原理】UVA - 11806 - Cheerleaders

    http://www.cnblogs.com/khbcsu/p/4245943.html 本题如果直接枚举的话难度很大并且会无从下手.那么我们是否可以采取逆向思考的方法来解决问题呢?我们可以用总的情况 ...

  4. java面试笔试总结(一)--亲生经历的面试题

    说明:本文只是自己的一些心得体会,答案也是自己写的,正确与否,还需考证 java笔试题    1java笔试题1 启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7 ...

  5. 浙南联合训练赛 H - The number of positions

    Petr stands in line of n people, but he doesn't know exactly which position he occupies. He can say ...

  6. python debug open_files

    主要是遇到 Error 24, too many open files. 下面这种方法可以debug打开了哪些文件. import __builtin__ openfiles = set() oldf ...

  7. [转]JSP中常见的Tomcat报错错误解析(一)

    1**:请求收到,继续处理2**:操作成功收到,分析.接受3**:完成此请求必须进一步处理4**:请求包含一个错误语法或不能完成5**:服务器执行一个完全有效请求失败 100——客户必须继续发出请求1 ...

  8. MATLAB/Octave warning: mx_el_eq: automatic broadcasting operation applied 错误分析

    在进行对一个mXn的矩阵与mX1的矩阵进行==比较时,原意是想让mXn的矩阵的每一行分别与mX1的矩阵每一行进行比较,得到的结果虽然是对的,但会报一个warning: mx_el_eq: automa ...

  9. ps制作导航条 分割线技巧

    1 用矩形工具画一个像素的矩形(注意不是路径) 2给矩形添加蒙版,用渐变工具对其进行渐变,达到两头渐隐藏的效果. 制作按钮技巧 用矩形工具画出矩形 然后给矩形添加 内发光 渐变叠加 光泽  描边等操作 ...

  10. 控制台+Owin搭建WebAPI接口服务

    当没有iis环境.想快速启动几个api接口测试又觉得新建一个api项目麻烦?来使用控制台做宿主,快速改几个api测试吧! 1.新建控制台项目 2.安装以下相关依赖 Microsoft.AspNet.W ...