由于公司使用的是zk,自己通过一个月的学习对zk也有一定的了解,想深入了解和使用zk,由于公司的项目框架都是别人搭建好的,所以最好是自己亲手搭建一个zk框架,在框架搭建过程中遇到了很多问题,一个zk框架的Hello Word整整搭建了2天,网上的zk搭建一般都是eclipse而我进了公司一直再用IDEA,所以我决定用IDEA亲自搭建一个zk.

    ZK: 它是什么?

        ZK 是一个事件驱动(event-driven)的,基于组件(component-based)的,用以丰富 网络程序中用户界面的框架。ZK 包括一个基于 AJAX 事件驱动的引擎(engine),一套 丰富的 XUL 和 XHTML,以及一种被称为 ZUML(ZK User Interface Markup Language,ZK 用户界面标记语言)的标记语言。

废话不多说直接上代码

先来看下idea创建的目录结构(如果不会创建maven项目请参考https://blog.csdn.net/qq_40646143/article/details/81508088)

pom.xml的配置

 <properties><spring.version>4.0.5.RELEASE</spring.version><mybatis.version>3.2.1</mybatis.version><slf4j.version>1.6.6</slf4j.version><log4j.version>1.2.12</log4j.version><mysql.version>5.1.35</mysql.version></properties><dependencies><!-- https://mvnrepository.com/artifact/org.zkoss.common/zcommon --><dependency><groupId>org.zkoss.common</groupId><artifactId>zcommon</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.common/zel --><dependency><groupId>org.zkoss.common</groupId><artifactId>zel</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.common/zweb --><dependency><groupId>org.zkoss.common</groupId><artifactId>zweb</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zhtml --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zhtml</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zk --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zk</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zkbind --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkbind</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zkplus --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkplus</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zul --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zul</artifactId><version>8.0.2.2</version></dependency><!-- 添加Spring依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><!--spring单元测试依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency><!-- spring webmvc相关jar --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><!-- mysql驱动包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- alibaba data source 相关jar包--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>0.2.23</version></dependency><!-- alibaba fastjson 格式化对 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.41</version></dependency><!-- logback start --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.2</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.1.2</version></dependency><dependency><groupId>org.logback-extensions</groupId><artifactId>logback-ext-spring</artifactId><version>0.1.1</version></dependency><!--mybatis依赖 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><!-- mybatis/spring包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.0</version></dependency><!-- 添加servlet3.0核心包 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.2-b01</version></dependency><!-- jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--单元测试依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!--JS https://mvnrepository.com/artifact/org.mozilla/rhino --><dependency><groupId>org.mozilla</groupId><artifactId>rhino</artifactId><version>1.7.10</version></dependency></dependencies>

接下来就是配置web.xml文件

  <!-- ZK --><listener><description>ZK listener for cleanup when a session is destroyed</description><listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
</listener><servlet><description>ZK loader for evaluating ZUML pages</description><servlet-name>zkLoader</servlet-name><servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class><!--Must. Specifies URI of the update engine (DHtmlUpdateServlet). Itmust be the same as <url-pattern> for the update engine.--><init-param><param-name>update-uri</param-name><param-value>/zkau</param-value></init-param><load-on-startup>1</load-on-startup><!-- MUST --></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><servlet><description>The asynchronous update engine for ZK</description><servlet-name>auEngine</servlet-name><servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class></servlet><servlet-mapping><servlet-name>auEngine</servlet-name><url-pattern>/zkau/*</url-pattern></servlet-mapping><!-- Filter 定义  --><!-- Character Encoding filter --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置DispatcherServlet --><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置springMVC需要加载的配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-*.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><!-- 匹配所有请求,此处也可以配置成 *.do 形式 --><url-pattern>/</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>

接下来配置spring-mvc.xml文件

 <!-- 扫描web相关的bean --><context:component-scan base-package="com.hp.controller"/><!-- 开启SpringMVC注解模式 --><mvc:annotation-driven/><!-- 静态资源默认servlet配置 --><mvc:default-servlet-handler/><!-- 配置jsp 显示ViewResolver --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/main/"/><property name="suffix" value=".zul"/></bean>

创建indexController.java

package com.hp.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/User")
public class IndexController{@RequestMapping(value = "/index")public String index() {return "/index";}}

我返回的是index.zul页面 ,接下来index.zul页面的配置

<window title="Hello" border="normal"><label value="hello word"></label>
</window>

接下来我们启动项目,看看运行的效果

如果不出意外的话你运行会出现这个错误 java.lang.ClassNotFoundException: org.zkoss.zk.ui.http.HttpSessionListener

我也是出现了这个错误解决想了好久终于搞定,这个错误的解决办法 https://blog.csdn.net/qq_40646143/article/details/81531772

IDEA创建ZK框架入门Hello word相关推荐

  1. Newbe.Claptrap 框架入门,第二步 —— 创建项目

    接上一篇 <Newbe.Claptrap 框架入门,第一步 -- 开发环境准备>,我们继续了解如何创建一个 Newbe.Claptrap 项目. 安装项目模板 打开控制台运行以下命令来安装 ...

  2. zk框架_ZK Web框架思想

    zk框架 我曾多次被要求提出一些有关ZK的意见. 因此,根据我4年作为ZK用户的经验,有一些想法: 总体开发人员经验,社区和文档 "就是这样" ZK提供的大多数东西都能很好地工作, ...

  3. 『Scrapy』爬虫框架入门

    框架结构 引擎:处于中央位置协调工作的模块 spiders:生成需求url直接处理响应的单元 调度器:生成url队列(包括去重等) 下载器:直接和互联网打交道的单元 管道:持久化存储的单元 框架安装 ...

  4. c++框架有哪些_Java Mybatis框架入门教程_v20200726

    MyBatis 的前身是 Apache 的开源项目 iBatis.MyBatis 几乎可以代替 JDBC,是一个支持普通 SQL 查询,存储过程和高级映射的基于 Java 的优秀持久层框架.MyBat ...

  5. [Python] Django框架入门

    说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...

  6. python web 框架例子_最快的 Python Web 框架入门

    原标题:最快的 Python Web 框架入门 来源:Python开发 ID:PythonPush 速度比较 框架 实现基础 每秒请求数 平均时间 Sanic Python 3.5 + uvloop ...

  7. SpringBatch批处理框架入门(二)

    这篇文章接上一篇SpringBatch批处理框架入门(一),继续讲解SpringBatch基础知识. 目录 SpringBatch 核心类介绍 SpringBatch 核心类Job SpringBat ...

  8. wxWidgets:创建其他框架

    wxWidgets:创建其他框架 wxWidgets:创建其他框架 介绍 入门 实现框架的层次结构 子框架与父框架之间的通信 概括 wxWidgets:创建其他框架 介绍 创建其他框架 到目前为止,我 ...

  9. spring框架mvc框架_Spring的MVC测试框架入门–第1部分

    spring框架mvc框架 最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spri ...

最新文章

  1. 黑洞最新照片来了:只多了炫酷光纹,却让物理学家解开喷流大谜题
  2. java使用websocket前后端通信实现
  3. Scala代码案例:统计三个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分
  4. 本地开发的 SAP UI5 应用,部署到 ABAP 服务器执行出错的问题分析
  5. 论HTML5 Audio 标签歌词同步的实现
  6. java异常断点数组_使用IDEA异常断点来定位java.lang.ArrayStoreException的问题
  7. 雷军回应小米新 Logo 争议;马化腾排名第 15 位,2021 全球亿万富豪榜出炉!谷歌将停止使用甲骨文的财务软件|极客头条...
  8. 记住没:永远不要在 MySQL 中使用 UTF-8
  9. 使用一重循环打印乘法口诀
  10. flv 视频 文件 下载
  11. 1302数码管c语言程序,基于AVR单片机的DS1302数码管时间显示C语言程序设计
  12. 一分钟快速了解内网穿透软件有哪些
  13. 手把手刷数据结构-1.手把手刷链表算法
  14. Springboot访问静态页面
  15. 故障处理——阿里云服务器无法向外发送邮件
  16. Xmind怎么打开?在线转换成PNG,JPG图片格式,无需安装其他软件
  17. 嵌入式软件测试——1.简介
  18. mysql 索引加锁分析
  19. SAP S4HANA1610/Fiori安装过程全记录
  20. android4.4 获取符合默认短信应用要求的短信应用包名

热门文章

  1. 你的肉眼欺骗了你--主观亮度与客观亮度
  2. 3种解决方案:如何彻底删除C盘的垃圾文件
  3. 360春招笔试算法题题解
  4. 强制将int转化为float
  5. sap项目部署到服务器,本地项目部署到云服务器
  6. IDL 文本编码、代码补全快捷方式、IDL doc、格式器、行号显示设置
  7. 知乎问答应该怎么做?
  8. arduino pwm电机调速程序
  9. Java如何使用方法
  10. 携职教育:初级会计考试明明不难,为什么通过率这么低?