如果要使用ZK的话在web.xml中做一些配置是肯定少不了的,其中配置DHtmlLayoutServlet就是其中之一,当然现在的J2EE规范提倡使用Filter了,zk也提供了DHtmlLayoutFilter,不过它们完成的功能都是类似的,在此仅以Servlet为例。
<servlet>
<description>ZK loader for ZUML pages</description>
<servlet-name>zkLoader</servlet-name>
<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
<init-param>
<param-name>update-uri</param-name>
<param-value>/zkau</param-value>
</init-param>
<init-param>
<param-name>log-level</param-name>
<param-value>DEBUG</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
对上述配置这里不做任何说明,但是有一点需要指出,就是上面的配置中指定这个servlet的启动参数是1,即在Web容器启动时就会进行初始化,我们关心的是DHtmlLayoutServlet在初始化时都做了哪些工作,这对我们了解zk的工作原理有好处。
通过阅读源码可以知道DHtmlLayoutServlet的实例有两个重要的私有属性,它们的类型分别是ServletContext与WebManager,初始化的任务除了初始化这两个属性外还要解析日志级别(log-level)、是否压缩输出(compress)以及更新URI(update-uri)参数,这些参数是在配置servlet时指定的,其中的updateURI还会被用于创建WebManager实例。
_webman = new WebManager(_ctx, updateURI);
_ctx.setAttribute(ATTR_LAYOUT_SERVLET, this);
注意:在一个web应用中只会有一个DHtmlLayoutServlet的实例存在。
分享到:
相关推荐
<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class> <!-- 必须指定更新引擎(DHtmlUpdateServlet)的URI,并且它必须和更新引擎的中设置的内容相同 --> <param-name>update-uri ...
### ZooKeeper工作原理小结 #### 一、ZooKeeper基本概念 **1.1 角色** 在ZooKeeper中,服务器节点被称为Server,它主要有以下几种角色: - **Follower**:处理客户端非写请求,参与Leader选举投票过程。 - **...
12.2.2 zk中zab的工作原理
在Mycat的安装包中,有一个名为`zk-config.bat/sh`的工具,这个工具的作用是从`conf/zk-default.txt`配置文件中加载ZK路径到ZK-Server中,完成ZK的初始化配置。初始化完成后,Mycat-Eye和负载均衡器(LB)就可以通过ZK...
这份文档将带你逐步了解ZK的基本概念和工作原理,包括ZK组件的使用、事件处理机制、数据绑定以及Ajax通信等。通过快速启动示例,你可以快速学会如何创建一个简单的ZK应用,并且理解ZK如何简化Web前端开发。 最后,...
《ZK分布式一致性原理与实践》是一本深入探讨分布式一致性解决方案的著作,主要围绕PAXOS算法和Zookeeper(ZK)系统展开。在分布式计算领域,一致性是保证系统可靠性和正确性的关键因素,而Zookeeper作为Apache软件...
可能需要清除HBase的Master和RegionServer的内存状态,并重新初始化它们。这通常涉及停止HBase服务,清理HBase的临时目录(例如`/hbase/hbase.id`和`/hbase/.logs`),然后重启HBase服务。重启顺序通常是先ZooKeeper...
这本书籍可能涵盖了ZK 6的基础知识,包括ZK的工作原理、基本组件的使用、事件处理机制以及数据绑定等,适合初学者入门。 通过这些文档,无论是初学者还是有经验的开发者,都能系统地学习和提升ZK 6的技能。了解并...
在web.xml中配置ZK的servlet和监听器,主要是`<listener>`和`<servlet>`元素,它们分别是用于会话销毁时的清理工作和加载ZUML页面的DHtmlLayoutServlet。初始化参数`<init-param>`用于设置更新URI。 通过这个简明...
描述中的链接指向了一篇CSDN博客文章,虽然具体内容无法直接引用,但根据标题和常见整合步骤,我们可以推断出整合ZK和Bootstrap的几个关键知识点: 1. **ZK组件与Bootstrap样式**:ZK组件可以通过设置CSS类来应用...
该工具的工作原理可能包括以下步骤: 1. **参数配置**:用户可以通过图形用户界面(GUI)选择和调整各种视觉元素的样式,如颜色、字体、布局等。这些参数可能是预设的,也可以自定义,涵盖了组件的背景色、边框、...
ZK框架是一款用于Web开发的开源富客户端框架,它基于Java语言开发,并能够运行在服务器端。ZK框架允许开发者利用XUL(XML用户界面语言),通过简单的标记和脚本来创建复杂的Web界面。 首先,ZK框架的最新版本为...
集群启动zk的脚本,只需要改集群参数就可以了集群启动zk的脚本,只需要改集群参数就可以了集群启动zk的脚本,只需要改集群参数就可以了
1. 初始化:在使用LCM12832ZK之前,驱动程序会进行必要的初始化操作,如设置时钟频率、数据传输模式和电源管理等,确保模块能够正确工作。 2. 显示控制:驱动程序能够发送指令来清屏、定位光标、设置背景色和前景色...
标题“ZK Spreadsheet(3-3)”暗示我们正在讨论的是关于ZK Spreadsheet的一个特定部分,可能是教程或更新的第三部分。"zk.part3.rar(3-3)"的描述可能是一个压缩文件,包含了该系列内容的第三个部分,可能是文档、...
学习ZK的过程中,你将了解到如何配置和启动ZK集群,理解ZK的数据模型和API,以及如何利用ZK实现分布式锁、队列、选举等高级功能。文档《ZK_学习总结100207.doc》可能涵盖了这些内容的详细讲解,包括ZK的安装部署、...