简介
ZK是一个基于事件驱动和组件的框架,他为web应用提供了丰富的接口。zk包括一个基于Ajax的事件驱动引擎、一整套丰富的XML用户接口语言(XML User Interface Language,XUL)和XHTML组件,以及一种称为ZUML(ZK User Interface Markup Language)的标识语言。
zk框架3个最重要的特征
a、它是一个表现层工具;
b、它是一个以服务端为中心的框架;
c、它有一个基于组件的GUI。
zk 的后台处理技术
基于Ajax机制的ZK由3个重要部分实现。它们是:ZK加载器(ZK loader)、ZK异步更新引擎(ZK AU engine)和ZK客户端引擎(ZK client engine)。ZK加载器和ZK异步更新引擎由一整套的Java servlet组成。下图为ZK加载器第一次接收到URL请求时的运行机制。
运行机制如下:
(1)、ZK加载器解析进入服务端的URL请求,并生成一个响应的HTML页面,该页面包含标准的HTML、CSS和Javascript代码。同时它还在服务端生成ZK组件。
(2)、ZK加载器发送HTML页面给客户端和ZK客户端引擎。ZK客户端位于客户端,它负责监听排列在浏览器中的JavaScript事件。(ZK客户端引擎是由许多Javascript组成的,它的职责是负责接收事件和更新Web页面的内容)。
(3)、一旦触发了任何Javascript事件,ZK客户端引擎将这些事件(即AJax请求)发回给服务端的ZK异步更新引擎。
(4)、ZK异步更新引擎接收Ajax请求,同时更新ZK组件的属性,然后将Ajax响应发回给客户端。
(5)、ZK客户端接收到该响应,在浏览器的文档对象模型(DOM)树上更新响应的内容。
(6)、这个过程一致持续不断,直到用户不再引用任何URL。